一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

php面向對象全攻略 (十五) 多態的應用

多態的應用
多態是除封裝和繼承之外的另一個面向對象的三大特性之一,我個人看來php 中雖然可
以實現多態,但和C++還有Java 這些面向對象的語言相比,多態性并不是那么突出,因為php
本身就是一種弱類型的語言,不存在父類對象轉化為子類對象或者是子類對象轉化為父類對
象的問題,所以多態的應用并不是那么的明顯;所謂多態性是指一段程序能夠處理多種類型
對象的能力,比如說在公司上班,每個月財務發放工資,同一個發工資的方法,在公司內不
同的員工或是不同職位的員工,都是通過這個方法發放的,但是所發的工資都是不相同的。
所以同一個發工資的方法就出現了多種形態。對于面向對象的程序來說,多態就是把子類對
象賦值給父類引用,然后調用父類的方法,去執行子類覆蓋父類的那個方法,但在php 里是
弱類型的,對象引用都是一樣的不分父類引用,還是子類引用。
我們現在來看一個例子,首先還是要使用多態就要有父類對象和子類對象的關系。做一
個形狀的接口或是抽象類做為父類,里面有兩個抽象方法,一個求周長的方法,另一個是求
面積的方法;這接口的子類是多種不同的形狀,每個形狀又都有周長和面積,又因為父類是
一個接口,所以子類里面就必須要實現父類的這兩個周長和面積的抽象方法,這樣做的目的
是每種不同形狀的子類都遵守父類接口的規范,都要有求周長和求面積的方法。
代碼片段
復制代碼 代碼如下:
<?
//定義了一個形狀的接口,里面有兩個抽象方法讓子類去實現
interface Shape{
function area();
function perimeter();
}
//定義了一個矩形子類實現了形狀接口中的周長和面積
class Rect implements Shape{
private $width;
private $height;
function __construct($width, $height){
$this->width=$width;
$this->height=$height;
}
function area(){
return "矩形的面積是:".($this->width*$this->height);
}
function perimeter(){
return "矩形的周長是:".(2*($this->width+$this->height));
}
}
//定義了一個圓形子類實現了形狀接口中的周長和面積
class Circular implements Shape{
private $radius;
function __construct($radius){
$this->radius=$radius;
}
function area(){
return "圓形的面積是:".(3.14*$this->radius*$this->radius);
}
function perimeter(){
return "圓形的周長是:".(2*3.14*$this->radius);
}
}
//把子類矩形對象賦給形狀的一個引用
$shape=new Rect(5, 10);
echo $shape->area()."<br>";
echo $shape->perimeter()."<br>";
//把子類圓形對象賦給形狀的一個引用
$shape=new Circular(10);
echo $shape->area()."<br>";
echo $shape->perimeter()."<br>";
?>

上例執行結果:
執行結果
矩形的面積是:50
矩形的周長是:30
圓形的面積是:314
圓形的周長是:62.8
通過上例我們看到,把矩形對象和圓形對象分別賦給了變量$shape,調用$shape 引用中
的面積和周長的方法,出現了不同的結果,這就是一種多態的應用,其實在我們php 這種弱
類形的面向對象的語言里面,多態的特性并不是特別的明顯,其實就是對象類型變量的變項
應用

php技術php面向對象全攻略 (十五) 多態的應用,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 日韩在线 中文字幕 | 青青草国产免费国产是公开 | 深爱激动网婷婷狠狠五月 | 国产福利在线观看 极品美女 | 久久综合色婷婷 | 国产成人精品男人免费 | 精品欧美一区二区vr在线观看 | 久久国产免费一区二区三区 | 成人在线色视频 | 热re91久久精品国产91热 | 国产福利在线免费观看 | 成年美女黄网站色大片图片 | 精品福利国产 | 色视频大全 | 亚洲欧美一区二区三区国产精品 | 成人网在线免费观看 | 天天爱天天做色综合 | 激情六月天婷婷 | 久久视热这只是精品222 | 久久精品视频一区 | 高清一区二区三区视频 | 老司机日日摸夜夜摸精品影院 | 岛国a视频 | 不良网站在线观看 | 视频国产精品 | 国产精品一区二区三区四区五区 | 成人一区专区在线观看 | 久99久精品免费视频热77 | 涩涩涩综合在线亚洲第一 | 婷婷色亚洲 | 国产一区二区在线视频播放 | 小泽玛利亚一区二区三区免费 | 四虎免费最新在线永久 | 午夜理伦三级理论6080 | 欧美大吊视频 | 夜夜影院未满十八勿进 | 在线观看午夜视频 | 免费99精品国产自在现线观看 | 国产老鸭窝毛片一区二区 | 青草资源站| 国产中文字幕视频在线观看 |