摘要:一繼承與擴(kuò)展子類使用繼承父類,子類可以將父類所有內(nèi)容繼承,如下多層繼承無(wú)法繼承給子類,如下只是子類引用繼承了父類的保護(hù)權(quán)限,只能自己和子類使用,外部無(wú)法讀取,如下默認(rèn)公開(kāi)權(quán)限,所有位置都可用,不再重復(fù)舉例,各權(quán)限如下圖二繼
一、繼承與擴(kuò)展
1.子類使用extends繼承父類,子類可以將父類所有內(nèi)容繼承,如下:
//多層繼承 class Person { var $name; var $age; var $sex; function __construct(){ } function say(){ } function eat(){ echo "1111"; } function run(){ } }; class Student extends Person { var $school; function __construct(){ } function study(){ } }; class Teacher extends Student { var $gz; function teach(){ } }; $stu=new Student; $stu->eat(); /1111
2.private無(wú)法繼承給子類,如下:
class Person { private $name="liu"; var $age; var $sex; function __construct(){ } function say(){ echo $this->name; } function eat(){ echo "1111"; } function run(){ } }; class Student extends Person { var $school; function __construct(){ } function study(){ } }; class Teacher extends Student { var $dw; function teach(){ echo $this->name; } }; $teacher=new Teacher; $teacher->say();//liu 只是子類引用繼承了父類的say() $teacher->teach();//error
3.protected保護(hù)權(quán)限,只能自己和子類使用,外部無(wú)法讀取,如下:
class Person { private $name="liu"; protected $age=10; var $sex; function __construct(){ } function say(){ echo $this->age; } function eat(){ echo "1111"; } function run(){ } }; class Student extends Person { var $school; function __construct(){ } function study(){ } }; class Teacher extends Student { var $dw; function teach(){ echo $this->age; } }; $teacher=new Teacher; $teacher->say();//10 $teacher->teach();//10
4.public(默認(rèn))公開(kāi)權(quán)限,所有位置都可用,不再重復(fù)舉例,各權(quán)限如下圖:
二、繼承中的重載/覆蓋
1.強(qiáng)類型語(yǔ)言中重載:方法名相同,參數(shù)或參數(shù)個(gè)數(shù)不同 2.弱類型語(yǔ)言理解為覆蓋:同一類中同名方法后覆蓋前 3.弱類型中的重載:子類里可以寫(xiě)與父類同名的方法,即方法的擴(kuò)展(接口、多態(tài)) 4.調(diào)用類的方法Person::say(); 5.調(diào)用父類(被覆蓋)的方法(默認(rèn)關(guān)鍵字)parent::say(); 6.__construct()也可以覆蓋,但最開(kāi)始必須調(diào)用父類構(gòu)造函數(shù),如下:
function __construct($name,$age,$sex,$school){ //先調(diào)用父類構(gòu)造方法,否則父類初始化后,子類不變 parent::__construct($name,$age,$sex); $this->school=$school; }
7.權(quán)限:子類權(quán)限只能>=父類權(quán)限,即public > protected > private
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/25574.html
摘要:利用計(jì)算機(jī)來(lái)對(duì)事物進(jìn)行抽象并使用便是面向?qū)ο缶幊?。被繼承的類稱為基類,繼承基類的新類稱為導(dǎo)出類。所以可以將導(dǎo)出類的實(shí)例對(duì)象賦給基類,作為一個(gè)基類對(duì)象使用。所以在一個(gè)基類對(duì)象上調(diào)用導(dǎo)出類的新功能者并沒(méi)有什么意義,也不符合現(xiàn)實(shí)。 從崛起的智人到被蘋(píng)果砸中的牛頓再到現(xiàn)在的你,一直在思考這是個(gè)怎么樣的世界? 一、世上本沒(méi)有蘋(píng)果 看到一張?zhí)O果的圖片,腦海里自然浮現(xiàn)圖片上的是一個(gè)蘋(píng)果,為什么會(huì)稱蘋(píng)...
摘要:摘要本文章關(guān)注點(diǎn)是理解面向?qū)ο蟾拍?,從抽象的角度上去理解?duì)象,重點(diǎn)包括理解對(duì)象的作用,以及理解面向?qū)ο蟮娜筇卣鞣庋b,繼承,多態(tài)。特性多態(tài)不同對(duì)象以自己的方式響應(yīng)相同的消息的能力叫做多態(tài)。 摘要:本文章關(guān)注點(diǎn)是理解面向?qū)ο蟾拍?,從抽象的角度上去理解?duì)象,重點(diǎn)包括理解對(duì)象的作用,以及理解面向?qū)ο蟮娜筇卣鳎ǚ庋b,繼承,多態(tài))。本文重點(diǎn)關(guān)注的是理解概念。 在理解面向?qū)ο笾?,首先回答幾個(gè)問(wèn)...
摘要:是完全的面向?qū)ο笳Z(yǔ)言,它們通過(guò)類的形式組織函數(shù)和變量,使之不能脫離對(duì)象存在。而在基于原型的面向?qū)ο蠓绞街?,?duì)象則是依靠構(gòu)造器利用原型構(gòu)造出來(lái)的。 JavaScript 函數(shù)式腳本語(yǔ)言特性以及其看似隨意的編寫(xiě)風(fēng)格,導(dǎo)致長(zhǎng)期以來(lái)人們對(duì)這一門(mén)語(yǔ)言的誤解,即認(rèn)為 JavaScript 不是一門(mén)面向?qū)ο蟮恼Z(yǔ)言,或者只是部分具備一些面向?qū)ο蟮奶卣?。本文將回歸面向?qū)ο蟊疽?,從?duì)語(yǔ)言感悟的角度闡述為什...
摘要:眾多面向?qū)ο蟮木幊趟枷腚m不盡一致,但是無(wú)論哪種面向?qū)ο缶幊陶Z(yǔ)言都具有以下的共通功能。原型編程以類為中心的傳統(tǒng)面向?qū)ο缶幊?,是以類為基礎(chǔ)生成新對(duì)象。而原型模式的面向?qū)ο缶幊陶Z(yǔ)言沒(méi)有類這樣一個(gè)概念。 什么是面向?qū)ο??這個(gè)問(wèn)題往往會(huì)問(wèn)到剛畢業(yè)的新手or實(shí)習(xí)生上,也是往往作為一個(gè)技術(shù)面試的開(kāi)頭題。在這里我們不去談如何答(fu)好(yan)問(wèn)(guo)題(qu),僅談?wù)勎宜斫獾拿嫦驅(qū)ο蟆?從歷...
摘要:目錄導(dǎo)語(yǔ)理解對(duì)象和面向?qū)ο蟮某绦蛟O(shè)計(jì)創(chuàng)建對(duì)象的方式的繼承機(jī)制原型對(duì)象原型鏈與原型對(duì)象相關(guān)的方法小結(jié)導(dǎo)語(yǔ)前面的系列文章,基本把的核心知識(shí)點(diǎn)的基本語(yǔ)法標(biāo)準(zhǔn)庫(kù)等章節(jié)講解完本章開(kāi)始進(jìn)入核心知識(shí)點(diǎn)的高級(jí)部分面向?qū)ο蟮某绦蛟O(shè)計(jì),這一部分的內(nèi)容將會(huì)對(duì)對(duì)象 目錄 導(dǎo)語(yǔ) 1.理解對(duì)象和面向?qū)ο蟮某绦蛟O(shè)計(jì) 2.創(chuàng)建對(duì)象的方式 3.JavaScript的繼承機(jī)制 3.1 原型對(duì)象 3.2 原型鏈 3.3 與...
摘要:封裝是面向?qū)ο蟮奶卣髦唬菍?duì)象和類概念的主要特性。通過(guò)這種方式,對(duì)象對(duì)內(nèi)部數(shù)據(jù)提供了不同級(jí)別的保護(hù),以防止程序中無(wú)關(guān)的部分意外的改變或錯(cuò)誤的使用了對(duì)象的私有部分。構(gòu)造函數(shù)通常被用來(lái)自動(dòng)執(zhí)行很多初始化操作。 之前的相關(guān)問(wèn)題 面向?qū)ο蠛兔嫦蜻^(guò)程的差別,各自的優(yōu)缺點(diǎn) 面向?qū)ο笥心男┗咎匦裕扛髯蕴匦詭?lái)哪些好處 面向?qū)ο蟮幕菊Z(yǔ)法? 面向?qū)ο蟮幕咎匦缘幕緦?shí)現(xiàn) 面向?qū)ο蠼Y(jié)合各種設(shè)計(jì)模式...
閱讀 2221·2021-10-12 10:11
閱讀 912·2021-10-09 09:41
閱讀 3897·2021-09-09 11:37
閱讀 2032·2021-09-08 10:41
閱讀 2698·2019-08-30 12:58
閱讀 2429·2019-08-30 10:58
閱讀 1356·2019-08-26 13:40
閱讀 4254·2019-08-26 13:36