### 1、實現接口VS繼承類
PHP的繼承是單繼承,也就是說一個類只能繼承一個類 ,這種單繼承模式保證了類的純潔性,比C++中的多繼承類機制簡潔。但是不可否認,對于類的擴展有一定的影響,所以我們認為:
1) 實現接口可以看作是對繼承的一種補充,還有一點,繼承 是層級式的,不太靈活,及一個類可以層級式的繼承。實現階梯狀,但是主要父類有錯誤會被一個一個的繼承下來,這樣對于代碼的高內聚低耦合來說不是最優的
2)實現接口可以在不打破關系的前提下,對某個功能擴展,非常靈活
### 看下面的代碼:
~~~
<?php
class Monkey{
public $age;
public $name;
public function climbing(){
echo "猴子會爬樹。。";
}
}
interface Bridable{
public function fly();
}
interface iFishable{
public function swimming();
}
//一個類最多能繼承一個父類,可以有多個接口,對子類進行擴展
class littleMonkey extends Monkey implements Bridable , iFishable{
public function fly(){
echo "猴子會飛。。。";
}
public function swimming(){
echo "猴子會游泳。。。";
}
}
$littleMonkey1=new littleMonkey();
$littleMonkey1->fly();
$littleMonkey1->swimming();
$littleMonkey1->climbing();
?>
~~~
### 2、final關鍵字,
final什么時候用
1) 因為安全的考慮,類的某個方法不允許被修改。可以用final修飾。
2)不希望某個類被其他的類繼承
特別說明:final 不能修改成員屬性(變量)。
3、const 概念?
1) 當一個成員的變量不允許被修改的時,可以用const 去修飾這個成員變量
基本用法:const 常量名=值;
訪問: 類名::常量名 ?或者 接口名::常量名
注意:常量名應該大寫,并且前面不要有$符號,并且定義時必須賦初始值。
~~~
<?php
class A{
const TAX_RATE=0.08;
public function payTax($val){
return $val*A::TAX_RATE;
// 另外也可以 slef::TAX_RATE 『OK』
}
}
$a=new A();
echo $a->payTax(100);
?>
~~~

- 前言
- HTML(第一天)
- HTML(第二天)
- DIV+CSS(第一天)
- DIV+CSS(第二天)
- DIV+CSS(第三天)
- DIV+CSS(第四天)
- PHP開發環境配置說明
- PHP基礎數據類型及運算符介紹
- 走進PHP函數
- 走進位運算
- 走進數組及相關數組函數
- 面向對象的編程(類與對象)
- 面向對象的編程(類成員方法用法)
- 構造方法,析構方法
- static,global用法
- 靜態方法
- 面向對象的編程方法
- 接口方法
- 接口VS繼承、final、const
- 錯誤及異常處理機制、錯誤日志
- HTTP協議深度剖析
- 文件下載
- PHP數據庫編程
- 數據庫編程(2)
- 超全局變量
- Zend studio 開發環境入門
- 雇員管理系統(1)
- 雇員管理系統(2)
- 會話技術(cookie session)
- 會話技術 session場景使用介紹!
- PHP.in中session和cookie的配置說明
- PHP文件編程
- 報表及繪圖技術
- 報表及繪圖技術(jpgraph庫使用,Linux安裝及配置說明)
- XML基本語法及DTD介紹
- XML編程(Dom技術)
- XML編程(Xpath技術,simpleXml技術)基礎入門
- 網上支付平臺PHP版本
- javascript基礎入門