抽象類(一種抽象的類)
一、什麼是抽象方法?
定義:乙個方法如果沒有方法體(乙個方法,不使用{},直接使用分號結束的方法,才是沒有方法體的方法),則這個方法就是抽象方法。
class person,
};}總結 1.宣告乙個方法不使用{},而直接分號結束。2.如果是抽象方法,必須使用abstract(抽象 關鍵字來修飾)。
二、什麼是抽象類呢?
1.如果乙個類中有乙個方法是抽象的方法,這個類就是抽象類。
2.如果宣告乙個抽象類,則這個類必須要使用abstract 關鍵字來修飾。
abstract class person
注意1.只要使用abstract 來修飾的類,就是抽象類。
2.抽象類是乙個特殊的類,特殊在**(在抽象類中可以有抽象方法)。
3.除了在抽象類中可以有抽象方法以外,和正常的類完全一樣。
注意21. 抽象類不能例項化物件(不能建立出物件)。
$p=new person(); //報錯
2. 如果看見抽象類,就必須寫這個類的子類,將抽象類中的抽象方法覆蓋(加上方法體)。
class student extend person()
}3. 子類必須全部實現(覆蓋重寫)抽象方法,這個子類才能建立物件,如果實現部分,那麼還有抽象方法,他還是抽象類。
class student extend person()
}抽象方法作用
1. 抽象方法就是乙個規定,規定子類必須有這個方法的實現,功能交給子類實現。
只寫出來結構,沒有實現,實現交給具體的子類(按自己功能實現)。
class student extend person()
// 覆蓋了父類兩個抽象方法
function eat()
}抽象類作用
就是要求子類的結構,所以抽象類就是乙個規範。(只有形)
介面 (介面是一種特殊抽象類,介面也是一種特殊的類 )
介面和抽象類的相同點
1.抽象類和介面都有抽象方法。
2.抽象類和介面不能建立例項物件。
3.抽象類和介面使用意義相同。定義一種規範。
不同點1.介面中的方法必須全要是抽象方法(不能用不抽象的方法),所以在介面的所有方法中不使用abstract,直接使用 分號結束。
2.介面中的成員屬性,必須是常量(不能有變數)。
3.介面所有許可權必須是公有的 public
4.宣告接icdhlr口 不使用class 使用 inte***ce ,
inte***ce person
$re=new person; //報錯 不可以 建立例項化 物件 。
echo person:: name; 輸出常量。
介面應用的一些細節
1. 可以使用 extends,讓乙個介面繼承另乙個介面(介面和介面的關係---只有擴充套件抽象方法,沒有覆蓋關係)。
2. 可以使用乙個類,來實現介面中的全部方法,也可也使用乙個抽象類,來實現介面的部分方法。(類與介面 或者 抽象類 與介面,有覆蓋的關係,---重寫---實現介面中的抽象方法)
inte***ce demo
inte***ce test extends demo
3.只要在子類中有覆蓋的動作,就不要使用extends(繼承 擴充套件)這個關鍵字,使用implements 實現。
inte***ce demo
inte***ce test extends demo
class hello extends test{} // 報錯 // 類對介面 有覆蓋
abstract class hello implements test //不報錯
4.乙個類可以在繼承另乙個類的同時,使用implements 實現介面(可以實現多個介面)(一定要先繼承,在實現介面)。
inte***ce demo
inte***ce test extends demo
class word
} class hello extends word implements test
function test1()
//實現介面
function test2()
//function test5()
}5.實現多個介面,只需使用逗號分開即可。
php 中乙個類 只要乙個父類 。
inteicdhlr***ce demo
inte***ce test extends demo
cla程式設計客棧ss world
inte***ce abc
}class hello extends world implements test,abc;
function test2();
function test3();
function test6();
}$re=new hello;
$re->test2(); //輸出 11
php抽象類和介面
介面 使用介面,你可以指定某個類必須實現那些方法,但是不需要定義這些方法的具體內容,我們可以通過inte ce來定義乙個介面,就像定義標準類一樣,但其中定義所有的方法都是空的,介面中定義的所有的方法都必須是public 實現乙個介面,可以使用implement操作符,類中必須實現介面中定義的所用的方...
php 介面和抽象類
php 介面和抽象類 介面 inte ce 在介面內定義方法,可不提供具體的 實現 作用 提供乙個規範,如果我們知道乙個類實現了某個介面,那麼就知道了可以呼叫該介面的那些方法,我們只需要知道這些就夠了。當有很多人一起開發乙個專案時,可能都會去呼叫別人寫的一些類,我怎麼知道他的某個功能的實現方法是怎麼...
Java知識點 6 抽象類和介面
抽象和介面是支援抽象方法的兩種機制,也是平時使用最頻繁的內容,在架構設計方面也有很多涉及。通過本文進行一下知識點的整理。如果有不準確的地方,還請指正。1.抽象 1.1 首先明確什麼是抽象方法,只有宣告,沒有具體方法體的方法我們稱之為抽象方法,使用abstract進行修飾 1.2 含有抽象方法的類,我...