PHP學習之抽象類和介面

2021-07-24 04:51:23 字數 1310 閱讀 2030

<?php  

//抽象類-可以是空類,不能建立物件,不能例項化,只能被繼承

abstract

class absfirst」,第乙個常量是「".self::abscl."」";  

}  }  

//介面1-可以是空的介面-不能定義變數-不能定義其他成員方法

inte***ce intfirst  

//介面2

inte***ce intsecond  

//實現類-定義的抽象方法和介面需全部實現

//實現抽象類關鍵字extends,單一繼承

//實現介面關鍵字implements,多介面

class clafirst extends absfirst implements intfirst,intsecond  

//重寫抽象類中的方法

public

function absfunsecond()  

//實現第乙個介面的第乙個方法

public

function intfunfirst($ic=',哈哈')      

//實現第二個介面的第乙個方法

public

function intfunsecond()  

}  //使用

$cf = new clafirst();  

$cf->absfunfirst();  

$cf->absfunsecond();  

$cf->intfunfirst();  

$cf->intfunsecond();  

/*執行結果:

第乙個抽象方法

我被重寫了

我是第乙個介面方法調的是第二介面的常量int-cls,哈哈

我是第二個介面方法調的是第一介面的常量int-clf

*//*

總結:介面是特殊的抽象類

抽象類和介面相同點:

1、都可以為空

2、都不能建立物件,不能被例項化

3、都可以定義常量

4、定義的抽象方法可以有引數,可以有預設值,沒有方法體

5、實現類需實現定義的所有抽象方法,且關鍵字為public

抽象類和介面不同點:

1、類關鍵字不同abstract && inte***ce 

2、抽象類可以定義變數,介面不可以

3、抽象類可以定義其他非抽象方法,介面不可以

4、抽象類定義的抽象方法關鍵為abstract,介面定義的方法關鍵字為public

5、實現抽象類只能單一繼承,關鍵字為extends,介面可以實現多個介面,關鍵字為implements

*/?> 

PHP之抽象類和介面

對於oop,估計大多數人並不陌生。有些人除php外也學習不少其他語言,會發現php的不同之處,可能語法極其醜陋,但並不妨礙它成為世界上最好的語言 邪教語言 php可以允許常量作為介面的一部分,而對於抽象的理解十分重要。計算機上,對抽象的理解與自然語言中我們每天使用的抽象概念有所不同。比如,我們指代 ...

php抽象類和介面

介面 使用介面,你可以指定某個類必須實現那些方法,但是不需要定義這些方法的具體內容,我們可以通過inte ce來定義乙個介面,就像定義標準類一樣,但其中定義所有的方法都是空的,介面中定義的所有的方法都必須是public 實現乙個介面,可以使用implement操作符,類中必須實現介面中定義的所用的方...

php 介面和抽象類

php 介面和抽象類 介面 inte ce 在介面內定義方法,可不提供具體的 實現 作用 提供乙個規範,如果我們知道乙個類實現了某個介面,那麼就知道了可以呼叫該介面的那些方法,我們只需要知道這些就夠了。當有很多人一起開發乙個專案時,可能都會去呼叫別人寫的一些類,我怎麼知道他的某個功能的實現方法是怎麼...