国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > PHP > 正文

PHP類的封裝與繼承詳解

2020-03-22 18:18:10
字體:
來源:轉載
供稿:網友
封裝 把成員方法和成員屬性封裝到類中,隱藏屬性和方法實現的細節,通過html' target='_blank'>public、protected、private等限定類成員的訪問權限,數據被保護在內部,只通過被授權的成員方法才可以操作,盡可能的對成員進行封裝。public:方法或者屬性在任何作用域下都可以訪問到,而且是默認的,如果沒有為一個屬性或方法指定訪問修飾符,它將是public。
protected:本類和子類可以訪問,外部對象不可以調用。
private:只能在本類訪問,子類與外部對象都不可能調用。經過private標記的方法或者屬性可以在繼承類中重新定義,每一個類只能看到它自己定義的私有方法。 這三個修飾符從作用范圍上來講應該像這樣從大到小排序:public→protected→private之所以說是在作用范圍上,是因為類把一些屬性和方法進行了封裝,這個封裝就決定了數據的“可見性”,這樣我們在類的外面不能夠隨意修改所定義的屬性和方法而只能夠進行調用,這就是封裝的好處,同時也提高了安全性。
我們給出代碼示例:
class myClass{ public $public="Public"; //public屬性 protected $protected="Protected"; //protected屬性 private $private="Private"; //private 屬性 function say_Hello() { //public屬性 //只是舉例說明,自行添加內容 $obj=new myClass(); echo $obj- public; //echo $obj- protected; //echo $obj- private; 通過運行以上示例我們得到一個“Public”,但當你把//echo $obj- private;的注釋去掉時,你會得到一下如下的錯誤:Fatal error: Cannot access protected property myClass::$protected in E:apachehtdocsexamplefile.php on line 13。可以看到我們不能隨意去訪問類的屬性定義,我們在“外面”是不知道這個類中到底有那些成員,因為這些成員對于其他的類可能是不可的。當然如果我們一定要訪問或者修改定義為“私有”的屬性時,也可以使用PHP所提供的系統方法:_get()和_set()。繼承 可以使一個類繼承并擁有另一個已經存在類的成員屬性和方法,被繼承的類稱為父類或基類,繼承類為子類。通過extends關鍵字實現繼承關系。通俗來說,要有繼承就得有一個“根源”,這“根源”你可能想像你以后生了兒子或者女兒,他們會從你這里得到一些“東西(屬性和方法)”,這樣你的“后代”就是持有你(根源)所有的一些特征了。產生“根源”類(父類或者基類)
語法:class father{
}產生“后代”(子類)
語法:class son extends father{
}PHP extends類繼承示例代碼:
class father{ protected $name; function __construct($name){ //構造函數 $this- name=$name; function work(){ echo "{$this- name}我在工作; function __destruct(){} //析構函數class son extends father{ //繼承父類 function play(){ echo "{$this- name}我在玩游戲; $my_father=new father(“爸爸”); //創建父類對象 $my_father- work(); $my_son=new son(“兒子”); $my_son- work(); $my_son- play(); 解析:在父類father里,我們定義了一般的屬性和方法,然后定義子類。你可能發現在子類里內是沒有構造函數和析構函數的,因為子類是繼承了父類的所有方法,所以可以調用$my_son- work(); 這就是PHP類的繼承了。另外要注意:PHP不能多層繼承,如:class A extends B extends C,這樣的繼承在PHP中是無效的,PHP里只有單繼承,不能多繼承,需要其他辦法變相“實現”多繼承。以上就是關于PHP類的封裝與繼承學習內容,希望對大家的學習有所幫助。PHP教程

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 全南县| 益阳市| 临漳县| 阳东县| 句容市| 松江区| 年辖:市辖区| 常熟市| 江西省| 理塘县| 潞西市| 绥阳县| 百色市| 横峰县| 互助| 南江县| 桦南县| 清徐县| 瓮安县| 德州市| 保山市| 阿克苏市| 汉寿县| 锦屏县| 杂多县| 新乐市| 尉犁县| 珲春市| 宿松县| 勃利县| 彭泽县| 桂平市| 西宁市| 大方县| 西林县| 依安县| 通许县| 新丰县| 勃利县| 偃师市| 柞水县|