php的學習筆記之物件導向(四)繼承

2021-07-10 09:39:45 字數 1253 閱讀 1214

我們人類都是不斷地繼承祖先留下的東西並在此基礎上不斷進化才能發展到現在如此悻悻向榮的社會。

程式設計也一樣,由於有了繼承,我們才能節省了大量程式設計的時間和代價。

比如程式猿和修車師傅,同樣是人,同樣要吃喝睡,同樣有名字,身高等屬性但是他們職業上又有根本的區別,程式猿會程式設計,而修車師傅會修車。由於他們技能上有所不同,我們必須要生成兩個類,但是每次都要把他們相同的屬性和技能都寫進不同的類中,這樣編寫**會讓寫的人和看的人感到厭煩。這時候我們就要用到繼承了。

於是乎編寫了一下**:

class

human

}class

programmer

extends

human

public

function

writecode()}

class

mechanic

extends

human

public

function

repaire

() }

$kitt = new programmer("kitt","1.78m","php");

$k = new mechanic("k","1.75m","bmw");

$kitt->writecode();

$kitt->eat();

$k->repaire();

$k->eat();

輸出結果如下:

kitt is using php to write codes

kitt is eating

k is repairing bmw

k is eating

用了繼承之後,我們就不用在子類中寫name height屬性和eat()方法了。

下面總結一下繼承的好處:

1、父類裡面定義的類成員(包括屬性和方法)可以不用在子類中重複定義,節約了程式設計的時 。比如:人的吃這個方法如果在父類中定義了,那麼程式設計師和修車師傅這兩個子類就不需要實現吃這個方法了,就好像天生就有這個功能一樣。

2、同乙個父類的子類擁有父類定義的類成員,因此外部**呼叫他們的時候可以一視同仁。

3、子類可以修改和調整父類定義員。

類成員我們稱為重寫(overwrite)。

一旦子類修改了,就按找子類修改之後的功能執行。

java學習筆記(四)之物件導向

成員變數和靜態變數的區別 1,兩個變數的生命週期不同。成員變數隨著物件的建立而存在,隨著物件的被 而釋放。靜態變數隨著類的載入而存在,隨著類的消失而消失。2,呼叫方式不同。成員變數只能被物件呼叫。靜態變數可以被物件呼叫,還可以被類名呼叫。3,別名不同。成員變數也稱為例項變數。靜態變數稱為類變數。4,...

PHP之物件導向學習

class lio php class lio 類son 繼承 lio class son extends lio 類的例項化 name new son sanmei public能夠訪問 echo name pub protect僅僅在子類中 通過 public function 實現呼叫 pri...

php的學習筆記之物件導向(六)static

有這樣乙個場景 我們把某班的所有同學都設為物件,他們都有乙個班長屬性,而且該班的班長為 k 如果班長換成了 m 那麼要把學生的班長屬性都改為 m 嗎?這是我們應該用到static關鍵字。class students kitt new students echo last monitor is stu...