什么是類
什么是類?
這幾乎是每一位面向對象初學者要問到的問題。那么我們暫且放開什么是類,我來問大家什么是人類?
有同學會回答:具有相同特征的某一類動物就是人類。
好,這位同學回答的很好,可能有的同學就不以為然了,那么一類動物的一類又是什么?好吧,我們陷入了一個雞生蛋還是蛋生雞的困境了。
你就記住具有相同特征的一群動物,我們稱之為類。這個時候你想必知道了類他指的是一群,是一個集合,而且是一個抽象的集合。那么張三跟李四呢?是不是人?是的,他們是更具體的人類。
這就是我們后面要跟大家講的,類是對象的抽象,而對象是類的具體表現(xiàn),也就是類實現(xiàn)。
或者說類是對象的模板。
類的聲明
類的聲明需要使用關鍵字class這一點跟我們的函數(shù)的聲明有所區(qū)別
| 類別 | 類 | 函數(shù) |
|---|---|---|
| 聲明關鍵字 | class | function |
| 修飾詞 | static,public,protected,private,abstract,final | static |
| 特征值 | 類成員屬性 | 變量 |
| 行為 | 類成員方法 | 函數(shù) |
| 擴展性 | 通過繼承來實現(xiàn)擴展性 | 重新定義新函數(shù) |
類的聲明
<?php
class People
{
public $name = 'xiaoming';
protected $age = 32;
private $salary = 1500;
public function say()
{
return $this->name;
}
protected function sayAge()
{
return $this->age;
}
private function saySalary()
{
return $this->salary;
}
}
?>
什么是對象
對象是具體的某一事物,對象就是類的實例化,具體體現(xiàn)。
類與對象的關系
- 類是對象的抽象集合
- 對象是類的實例化,或稱類的具體表現(xiàn)
舉例:
對象是對現(xiàn)實世界中實體的描述。
如果我說具有手足、鼻子眼睛等器官,同時有說話,吃飯睡覺功能的動物的集合,你可能在腦海中只是很模糊的一個概念,只是知道有這樣那樣的器官和功能。
但是我這個時候說,你看張三,他就是這個集合的一份子,這一瞬間你就明白了,我要表達的是什么了。對,張三就是我們?nèi)祟悓嵗?,具體化的某個動物。而人類就是由張三抽象出的一個群體。
實例化一個對象
<?php
class People
{
public $name = 'xiaoming';
protected $age = 32;
private $salary = 1500;
public function __construct($name, $age, $salary)
{
$this->name = $name;
$this->age = $age;
$this->salary = $salary;
}
public function say()
{
return $this->name;
}
protected function sayAge()
{
return $this->age;
}
private function saySalary()
{
return $this->salary;
}
}
$zhangsan = new People('zhangsan', 22, 1000);
echo $zhangsan->say();
?>