PHP中抽象類、接口的區(qū)別與選擇分析
本文實(shí)例分析了PHP中抽象類、接口的區(qū)別與選擇。分享給大家供大家參考,具體如下:
區(qū)別:
1、對(duì)接口的使用是通過關(guān)鍵字implements。對(duì)抽象類的使用是通過關(guān)鍵字extends。當(dāng)然接口也可以通過關(guān)鍵字extends繼承。
2、接口中不可以聲明成員變量(包括類靜態(tài)變量),但是可以聲明類常量。抽象類中可以聲明各種類型成員變量,實(shí)現(xiàn)數(shù)據(jù)的封裝。(另JAVA接口中的成員變量都要聲明為public static final類型)
<?php
abstract class Father {
function meth1() {
echo "meth1...<br>";
}
abstract function meth2();
public $var1="var1";
public static $var2="var2";
const Var3="Var3";
}
class Son extends Father {
function meth2() {
echo "meth2 of Son...<br>";
}
}
$s=new Son();
echo $s->var1."<br>";
echo Father::$var2."<br>";
echo Father::Var3."<br>";
Interface IFather {
//public $iVar1="iVar1"; 此處接口定義中不能包含成員變量
//public static $iVar2="iVar2"; 此處接口定義中不能包含靜態(tài)變量
const iVar3="iVar3";
function iMeth1();
}
Class ISon implements IFather {
function iMeth1() {
echo "iMeth1...<br>";
}
}
$is=new ISon();
echo IFather::iVar3;
?>
3、接口沒有構(gòu)造函數(shù),抽象類可以有構(gòu)造函數(shù)。
4、接口中的方法默認(rèn)都是public類型的,而抽象類中的方法可以使用private,protected,public來修飾。
5、一個(gè)類可以同時(shí)實(shí)現(xiàn)多個(gè)接口,但一個(gè)類只能繼承于一個(gè)抽象類。
抽象類還是接口
1. 如果要?jiǎng)?chuàng)建一個(gè)模型,這個(gè)模型將由一些緊密相關(guān)的對(duì)象采用,就可以使用抽象類。如果要?jiǎng)?chuàng)建將由一些不相關(guān)對(duì)象采用的功能,就使用接口。
2. 如果必須從多個(gè)來源繼承行為,就使用接口。
3. 如果知道所有類都會(huì)共享一個(gè)公共的行為實(shí)現(xiàn),就使用抽象類,并在其中實(shí)現(xiàn)該行為。
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP網(wǎng)絡(luò)編程技巧總結(jié)》、《PHP基本語法入門教程》、《php操作office文檔技巧總結(jié)(包括word,excel,access,ppt)》、《php日期與時(shí)間用法總結(jié)》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
- php 接口類與抽象類的實(shí)際作用
- php接口和抽象類使用示例詳解
- 深入分析php中接口與抽象類的區(qū)別
- PHP中用接口、抽象類、普通基類實(shí)現(xiàn)“面向接口編程”與“耦合方法”簡述
- PHP OPP機(jī)制和模式簡介(抽象類、接口和契約式編程)
- PHP入門教程之面向?qū)ο蟮奶匦苑治?繼承,多態(tài),接口,抽象類,抽象方法等)
- 淺析php中抽象類和接口的概念以及區(qū)別
- PHP面向?qū)ο蟪绦蛟O(shè)計(jì)高級(jí)特性詳解(接口,繼承,抽象類,析構(gòu),克隆等)
- PHP抽象類與接口的區(qū)別詳解
- PHP中抽象類,接口功能、定義方法示例
- php抽象類和接口知識(shí)點(diǎn)整理總結(jié)
相關(guān)文章
snoopy PHP版的網(wǎng)絡(luò)客戶端提供本地下載
snoopy是非常不錯(cuò)的模仿網(wǎng)絡(luò)客戶端的php類,但提供本地下載的很少,國外的下載又麻煩而且又慢,所以我弄到本站方便大家下載2008-04-04
PHP通過header實(shí)現(xiàn)文本文件下載的代碼
所謂實(shí)現(xiàn)文本文件的下載就是說當(dāng)我們點(diǎn)擊一個(gè)文本文件的鏈接的時(shí)候不是打開這個(gè)文件,而是彈出一個(gè)下載對(duì)話框讓我們下載2010-08-08
php引用計(jì)數(shù)器進(jìn)行垃圾收集機(jī)制介紹
每一種計(jì)算機(jī)語言都有自己的自動(dòng)垃圾回收機(jī)制,讓程序員不必過分關(guān)心程序內(nèi)存分配,php也不例外,但是在面向?qū)ο缶幊?OOP)編程中,有些對(duì)象需要顯式的銷毀;防止程序執(zhí)行內(nèi)存溢出2012-09-09
php利用cookies實(shí)現(xiàn)購物車的方法
這篇文章主要介紹了php利用cookies實(shí)現(xiàn)購物車的方法,可通過cookie實(shí)現(xiàn)對(duì)商品的增刪改等功能,以及統(tǒng)計(jì)與檢查等技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2014-12-12
php實(shí)現(xiàn)在服務(wù)器端調(diào)整圖片大小的方法
這篇文章主要介紹了php實(shí)現(xiàn)在服務(wù)器端調(diào)整圖片大小的方法,實(shí)例分析了imageResizer與loadimage操作圖片的相關(guān)技巧,需要的朋友可以參考下2015-06-06
PHP file_get_contents 函數(shù)超時(shí)的幾種解決方法
在使用file_get_contents函數(shù)的時(shí)候,經(jīng)常會(huì)出現(xiàn)超時(shí)的情況,在這里要通過查看一下錯(cuò)誤提示,看看是哪種錯(cuò)誤,比較常見的是讀取超時(shí),這種情況大家可以通過一些方法來盡量的避免或者解決。2009-07-07
WordPress開發(fā)中用于標(biāo)題顯示的相關(guān)函數(shù)使用解析
這篇文章主要介紹了WordPress開發(fā)中用于標(biāo)題顯示的相關(guān)函數(shù)使用解析,講解了single_cat_title函數(shù)和get_the_title函數(shù)和the_title函數(shù)的用法,需要的朋友可以參考下2016-01-01

