類和對象

什么是類

什么是類?

這幾乎是每一位面向對象初學者要問到的問題。那么我們暫且放開什么是類,我來問大家什么是人類?

有同學會回答:具有相同特征的某一類動物就是人類。

好,這位同學回答的很好,可能有的同學就不以為然了,那么一類動物的一類又是什么?好吧,我們陷入了一個雞生蛋還是蛋生雞的困境了。

你就記住具有相同特征的一群動物,我們稱之為類。這個時候你想必知道了類他指的是一群,是一個集合,而且是一個抽象的集合。那么張三跟李四呢?是不是人?是的,他們是更具體的人類。

這就是我們后面要跟大家講的,類是對象的抽象,而對象是類的具體表現(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)。

類與對象的關系

  1. 類是對象的抽象集合
  2. 對象是類的實例化,或稱類的具體表現(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();

?>
最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 1、面向對象 面向對象的優(yōu)點: (1)便于程序模擬現(xiàn)實世界中的實體用“類”表示實體的特征和行為 (2)隱藏細節(jié)對象...
    3e1094b2ef7b閱讀 614評論 0 0
  • 類是一個重要的C#編程概念,它在一個單元內(nèi)定義了表示和行為。類提供了面向對象編程和面向組件編程所需的語言支持,是創(chuàng)...
    CarlDonitz閱讀 987評論 0 2
  • 一、類與對象 類:類是一個模板,描述一類對象的狀態(tài)和行為;對象:對象為類的一個實例,具有自己的屬性(狀態(tài))和方法(...
    誰吃了我的薯條閱讀 703評論 0 1
  • Objective-C語言是一門動態(tài)語言,它將很多靜態(tài)語言在編譯和鏈接時期做的事放到了運行時來處理。這種動態(tài)語言的...
    有一種再見叫青春閱讀 672評論 0 3
  • 2.1 類的基礎知識2.2 構造函數(shù)2.3 拷貝構造函數(shù)2.4 析構函數(shù)2.5 C++能自動產(chǎn)生成員函數(shù)2...
    笑笑學生閱讀 485評論 0 0

友情鏈接更多精彩內(nèi)容