PHP 對象 抽象方法和抽象類 abstract 接口iinterface

/*
 * 抽象方法和抽象類
 * 
 * 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(){
        
    }
    
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章