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

php面向對象全攻略 (七) 繼承性

11.類的繼承
繼承作為面向對象的三個重要特性的一個方面,在面向對象的領域有著極其重要的作用,
好像沒聽說哪個面向對象的語言不支持繼承。繼承是php5 面向對象程序設計的重要特性之
一,它是指建立一個新的派生類,從一個或多個先前定義的類中繼承數據和函數,而且可以
重新定義或加進新數據和函數,從而建立了類的層次或等級。說的簡單點就是,繼承性是子
類自動共享父類的數據結構和方法的機制,這是類之間的一種關系。在定義和實現一個類的
時候,可以在一個已經存在的類的基礎之上來進行,把這個已經存在的類所定義的內容作為
自己的內容,并加入若干新的內容。比如你現在已經有一個“人”這個類了,這個類里面有
兩個成員屬性“姓名和年齡”以及還有兩個成員方法“說話的方法和走路的方法”,如果現在
程序需要一個學生的類,因為學生的也是人,所以學生也有成員屬性“姓名和年齡”以及成
員方法“說話的方法和走路的方法”,這個時候你就可以讓學生類來繼承人這個類,繼承之后,
學生類就會把人類里面的所有的屬性都繼承過來,就不用你再去重新聲明一遍這些成員屬性
和方法了,因為學生類里面還有所在學校的屬性和學習的方法,所以在你做的學生類里面有
繼承自人類里面的屬性和方法之外在加上學生特有的“所在學校屬性”和“學習的方法”,
這樣一個學生類就聲明完成了,繼承我們也可以叫做“擴展”,從上面我們就可以看出,學生
類對人類進行了擴展,在人類里原有兩個屬性和兩個方法的基礎上加上一個屬性和一個方法
擴展出來一個新的學生類。
通過繼承機制,可以利用已有的數據類型來定義新的數據類型。所定義的新的數據類型
不僅擁有新定義的成員,而且還同時擁有舊的成員。我們稱已存在的用來派生新類的類為基
類,又稱為父類以及超類。由已存在的類派生出的新類稱為派生類,又稱為子類。
在軟件開發中,類的繼承性使所建立的軟件具有開放性、可擴充性,這是信息組織與分
類的行之有效的方法,它簡化了對象、類的創建工作量,增加了代碼的可重性。采用繼承性,
提供了類的規范的等級結構。通過類的繼承關系,使公共的特性能夠共享,提高了軟件的重
用性。
在C++語言中,一個派生類可以從一個基類派生,也可以從多個基類派生。從一個基類派生的繼承稱為單繼承;從多個基類派生的繼承稱為多繼承。
但是在phpJava 語言里面沒有多繼承,只有單繼承,也就是說,一個類只能直接從
一個類中繼承數據,這就是我們所說的單繼承。
例如:
下面是“人”類的抽象
代碼片段
復制代碼 代碼如下:
//定義一個“人”類作為父類
class Person{
//下面是人的成員屬性
var $name; //人的名子
var $sex; //人的性別
var $age; //人的年齡
//定義一個構造方法參數為屬性姓名$name、性別$sex和年齡$age進行賦值
function __construct($name, $sex, $age){
$this->name=$name;
$this->sex=$sex;
$this->age=$age;
}
//這個人可以說話的方法, 說出自己的屬性
function say() {
echo "我的名子叫:".$this->name." 性別:".$this->sex." 我的年齡是:".$this->age."<br>";
}
}

下面我們做一個“學生類”,如果不是用繼承如下:代碼片段
復制代碼 代碼如下:
//定義一個“人”類做為父類
class Student{
//下面是人的成員屬性
var $name; //人的名子
var $sex; //人的性別
var $age; //人的年齡
var $school; //學生所在學校的屬性
//定義一個構造方法參數為屬性姓名$name、性別$sex和年齡$age進行賦值
function __construct($name=””, $sex=””, $age=””, $school=””){
$this->name=$name;
$this->sex=$sex;
$this->age=$age;
$this->school=$school;
}
//這個人可以說話的方法, 說出自己的屬性
function say() {
echo "我的名子叫:".$this->name." 性別:".$this->sex." 我的年齡是:".$this->age."<br>";
}
//這個學生學習的方法
function study() {
echo "我的名子叫:".$this->name." 我正在”.$this->school.”學習<br>";
}
}
//定義一個子類“學生類“使用”extends”關鍵字來繼承”人”類
class Student extends Person{
var $school; //學生所在學校的屬性
//這個學生學習的方法
function study() {
echo "我的名子叫:".$this->name." 我正在”.$this->school.”學習<br>";
}
}

通過上面“Student”類的定義,Student 類通過使用“extends”這個關鍵字把Person 類
里的所有成員屬性和成員方法都繼承過來了,并擴展了一個所在學校成員屬性“school”,和
一個學習方法“study()”。現在子類“Student”里面和使用這個類實例出來的對象都具有如下
的屬性和方法:
學生類“Student”里面的成員屬性有:
姓名:name;
年齡:age;
性別:sex;
學校:school;
學生類“Student”里面的成員方法有:
說話方法:say();
學習方法:study();
通過上面類繼承的使用簡化了對象、類的創建工作量,增加了代碼的可重性。但是從上
面這一個例子上中“可重用性”以及其它的繼承性所帶來的影響,我們看的還不是特別的明
顯,你擴展的去想一下,人有無數個崗位,比如上面的學生還有老師、工程師、醫生、工人
等,很多很多,如果每個類都定義“人”都共同具有的屬性和方法,想一想會有很大的工作
量,這些屬性和方法都可以從“Person”人類里面繼承過來。

php技術php面向對象全攻略 (七) 繼承性,轉載需保留來源!

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

主站蜘蛛池模板: 99久久精品99999久久 | 国产成人精品视频在放 | 日本aⅴ日本高清视频影片www | 成 人网站免费 | 99精品久久99久久久久久 | 怡红院亚洲红怡院天堂麻豆 | 精品国产高清a毛片无毒不卡 | 黄 色 成 年人在线 黄 色 免 费 网站在线观看 | 国产精品高清一区二区三区不卡 | 国产女人综合久久精品视 | 亚洲成人看片 | 久久久网 | 天天色综合图片 | 伊人亚洲综合 | 黄色视屏免费看 | 久久久久久久综合狠狠综合 | 91在线永久 | 国产在线精品美女观看 | 中文字幕在线观看国产 | 亚洲色欧美 | 在线观看91精品国产hd | 美女扒开视频网站 | 欧美福利网 | 日本网址在线观看 | 91视频中文 | 亚洲一区二区三区高清 | 天天色天天舔 | 91亚洲视频 | 激情五月在线 | 国产亚洲欧美另类久久久 | 欧美精品亚洲精品日韩经典 | 综合久久五月天 | 永久黄网站色视频免费 | 91精品国产丝袜 | 美女视频国产 | 色噜噜噜噜噜 | 久久免费视频8 | 婷婷激情综合 | 热伊人99re久久精品最新地 | 91麻豆精品国产剧情 | 日本一区二区三区在线 视频观看免费 |