/* * 抽象方法和抽象類 * * 1.什麼是抽象方法 * 定義:一個方法如果沒有方法體(一個方法,不使用{},直接使用分號結束的方法,纔是沒有方法體的方法),則這個方法就是抽象方法 * 一、聲明一個方法,不使用{},而直接分號結束 * 二、如果是抽象方法,必須使用abstract(抽象關鍵字來修飾) * 2.什麼是抽象類 * 一、如果一個類中有一個方法時抽象的方法,則這個類就是抽象類。 * 二、如果聲明一個抽象類,則這個類必須使用abstract抽象關鍵字來修飾 * 注意: * 1.只要使用abstract修飾的類,就是抽象類 * 2.抽象類是一個種特殊的類,特殊在抽象類中可以有抽象方法 * 3.除了在抽象類中可以有抽象方法外,和正常的類完全一樣。 * 接口是一種特殊的抽象類 * 1.抽象類和接口中都有抽象方法 * 2.抽象類和接口都不能創建實例對象 * 3.抽象類和接口的使用意義相同 作用相同 * 接口和抽象類相比; * 1.接口中的方法,必須全要是抽象方法(不能用不抽象的方法) 不需要使用abstract 直接使用分隔結束 * 2.接口中的成員屬性,必須是常量(不能有變量) * 3.所有的權限必須是公有屬性(public) * 4.聲明接口不使用class 而是使用interface * 接口應用的一些細節 * 1.接口繼承 extends 一個接口繼承另一個接口 只有擴展新抽象方法,沒有覆蓋的關係 * 2.可以使用一個類來實現接口中的全部方法,可可以使用一個抽象類,來實現接口中的部分方法 * (類與接口 抽象類與接口 覆蓋 重寫 實現接口中的抽象方法) * 3.就不要使用extends這個關鍵字,使用implements來實現 * * extends繼承擴展 一個類只能有一個父類 * 4.一個類可以在繼承另一個類的同時,使用implements實現一個接口 也可以實現多個接口 (一定要先繼承,再實現接口) * 5.實現一個接口,必須實現接口中所有定義的方法,不能有任何遺漏。 */ //抽象類 abstract class Person{ //抽象方法 abstract function say(); } //接口 interface Demo{ const NAME = '津沙港灣'; function test();//可以省略abstract 方法必須是抽象方法 即沒有方法體{} } //接口繼承 interface Test extends Demo{ } //類 class World{ } //類實現接口 abstract class WebPage extends World implements Demo{ function test(){ } }
PHP 對象 抽象方法和抽象類 abstract 接口iinterface
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.