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