本節介紹面向對象編程的主要概述,并探索這些概念之間如何交互;第3章將深入討論這些概念在PHP6中的實現細節。本間涵蓋了以下主題:
* 類(Class)
* 對象(Object)
* 繼承(Inheritance)
* 多態(Polymorphism)
* 接口(Interface)
* 封裝(Encapsulation)
# 1.3 類
類是一個代碼單元(由變量和函數組成),該代碼單元描述了集合中所有成員的特征和行為。
## 1.3.1 對象
類可以看成是構造對象的藍本。
類永遠不能有導發值 或狀態,只有對象才可以值或狀態。
在實例化,就可以將對象用于實現應用程序的業務需求。
### 1. 創建類
```
<?php
class Demo{
}
```
實例化一個對象
```
<?php
require_once('class.Demo.php');
$objDemo = new Demo();
```
### 2.添加方法
```
<?php
class Demo{
function sayHello($name){
print "Hello $name";
}
}
```
使用 `->` 來訪問新創建的函數:
```
<?php
require_once('class.Demo.php');
$objDemo = new Demo();
$objDemo->sayHello('Steve');
```
>PHP在其OO語法中根本不使用點操作(.)
### 3.添加屬性
在面向過程代碼中,當希望存儲某個值 時,會將該值賦給一個`變量`。
在OOP中,當希望存儲某個屬性的值時,也可以使用一個`變量`。
該變量在類聲明的頂部聲明,`類聲明位于包含類代碼的大括號中`。
變量的名稱就是屬性的名稱!