在物件導向思想中,有三大特性:封裝
、繼承
、多態
。
1.封裝
a.定義:封裝
,字面上就是將內容裝到某個容器中,並進行密封保存。在物件導向
想法中,封裝指將資料和對資料的操作捆綁在一起,形成對外界的隱蔽,同時對外提供可以操作的介面。類似手機的電源轉接器,只需要將插頭的兩端放入插座和電源線,不用理會電源轉接器如何將220v的電壓轉換成手機能支援的電壓。
b.範例
//封装特性 class Salary{ //将数据和方法都放置进类内部,不可见 private static $count = 0; private $money = 0; public function getMoney(){ //对类内的数据进行操作 return $this->money; } } //类外部 $s = new Salary(); $s->getMoney(); //外部只能访问类中公有的方法,具体实现不可见
2.繼承
a.定義:繼承
,字面上就是兒子繼承父親的基業,兒子在父親的打下的江山基礎上進行奮鬥。在物件導向程式設計中,我們把父親打下的江山稱為父類別
,兒子繼承父親的江山稱為子類別
。
b.範例
<?php class Fu{} class Zi extends Fu{} //利用关键字extends表示Zi类是Fu类的子类。 ?>
#3. 多態
##
a.定義:多態,是指在發生
類別的繼承的情況下,同時出現
方法的重寫(override),即
子類別擁有與
父類別同名的方法。然後在實例化物件的時候讓父類別物件指向子類別物件(強制類型,PHP是
弱類型語言不支援),父類別物件表現的子類別物件的特徵。
Java為例)
//父类 class Animal{ public void show(){ System.out.println("Animal");//这是打印Animal然后换行 } } //子类 class Dog extends Father{ //重写show方法 public void show(){ System.out.println("Dog");//这是打印Dog然后换行 } } //实例化:Java是强类型,必须指定保存数据的变量的类型 Animal a = new Dog(); //父类对象指向子类对象空间 a.show(); //打印Dog,父类对象调用的是子类方法
以上是php中物件導向的三面人生的詳細內容。更多資訊請關注PHP中文網其他相關文章!