国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Jadual Kandungan
PHP中子類重載父類的方法【parent::方法名】,中子parent
Rumah pembangunan bahagian belakang tutorial php PHP中子類重載父類的方法【parent::方法名】,中子parent_PHP教程

PHP中子類重載父類的方法【parent::方法名】,中子parent_PHP教程

Jul 12, 2016 am 08:53 AM
php kaedah Lebihan beban

PHP中子類重載父類的方法【parent::方法名】,中子parent

在PHP中不能定義重名的函數,也包括不能再同一個類中定義重名的方法,所以也就沒有方法重載。單在子類中可以定義和父類重名的方法,因為父類的方法已經在子類中存在,這樣在子類中就可以把從父類中繼承過來的方法重寫。

子類中重載父類的方法就是在子類中覆蓋從父類中繼承過來的方法,父類中的方法被子類繼承過來不就可以直接使用嗎?為什么還要重載呢?因為有一些情況我們必須要覆蓋的。例如,有一個“鳥”類,在這個類中定義了鳥的通用方法“飛翔”。將“鴕鳥”類作為它的子類,就會將“飛翔”的方法繼承過來,但只要一調用“鴕鳥”類中的這個“飛翔”的方法,鴕鳥就會飛走。雖然鴕鳥是不會飛的,但其他特性都具有“鳥類”的特性,所以在聲明“鴕鳥”類時還是可以繼承“鳥”類的,但必須在“鴕鳥”類中將“鳥”類中繼承過來的“飛翔”方法改寫,就需要在子類中重載父類中的方法。

在下面的例子中,聲明的Person類中有一個“說話”方法,Student類繼承Person類后可以直接使用“說話”方法。但Person類中的“說話”方法只能說出它自己的成員屬性,而Student類對Person類進行了擴展,多添加了幾個新的成員屬性。代碼如下所示:

<&#63;php
class Person{
protected $name;
protected $sex;
protected $Wage;
function __construct($name="",$sex="男",$age=1){
$this ->name = $name;
$this ->sex = $sex;
$this ->age = $age;
}
//在人類中聲明一個通用的說話方法,介紹一下自己
function say(){
echo "我的名字:".$this-> name.",性別:".$this ->sex.",年齡:".$this ->age."。<br>";
}
}
//聲明一個學生類,使用extends關鍵字擴展(繼承)person類
class Student extends Person {
private $school; //在學生類中聲明一個所在學校school的成員屬性
//覆蓋父類中的構造方法,在參數列表中添加一個學校屬性,用來創(chuàng)建對象并初始化成員屬性
function __construct($name="",$sex="男",$age=1,$school=""){
$this ->name = $name;
$this ->sex = $sex;
$this ->age = $age;
$this ->school = $school;
}
function study(){
echo $this ->name."正在".$this ->school."學習<br>";
}
//定義一個和父類中同名的方法,將父類中的說話方法覆蓋并重寫,多說出所在的學校名稱
function say(){
echo "我的名字:".$this ->name.",性別:".$this ->sex.",年齡:".$this ->age.",在".$this ->school."學校上學<br>";
}
}
$student= new Student("張三","男",20,"edu"); //創(chuàng)建一個學生對象,并傳給一個學校名稱參數
$student -> say(); //調用學生類中覆蓋父類的說話方法
&#63;> 

改程序運行后輸出的結果為:

我的名字叫:張三,性別:男,我的年齡是:20,在edu學校上學

在PHP中,提供了在子類重載的方法中調用父類被覆蓋方法的功能。這樣就可以在子類重寫的方法中,繼續(xù)使用從父類繼承過來并被覆蓋的方法,然后再按要求多添加一些新功能。調用的格式是使用“parent:方法名”在子類的重載方法中調用父類中被覆蓋的方法。將上例中的代碼修改一下,在子類重寫的構造方法中使用“parent::__construct()”調用父類中被覆蓋的構造方法,再多添加一條對子類中新擴展的成員屬性初始化的代碼。在子類中重寫的say()方法中使用“parent::say()”調用父類中被覆蓋的say()方法,再添加上輸出子類成員屬性的功能。

代碼如下所示:

<&#63;php
class Person{
protected $name;
protected $sex;
protected $Wage;
function __construct($name="",$sex="男",$age=1){
$this ->name = $name;
$this ->sex = $sex;
$this ->age = $age;
}
//在人類中聲明一個通用的說話方法,介紹一下自己
function say(){
echo "我的名字:".$this-> name.",性別:".$this ->sex.",年齡:".$this ->age."。<br>";
}
}
//聲明一個學生類,使用extends關鍵字擴展(繼承)person類
class Student extends Person {
private $school; //在學生類中聲明一個所在學校school的成員屬性
//覆蓋父類中的構造方法,在參數列表中添加一個學校屬性,用來創(chuàng)建對象并初始化成員屬性
function __construct($name="",$sex="男",$age=1,$school=""){
//調用父類中被覆蓋的構造方法,為從父類中集成過來額出行賦初值
parent::__construct($name,$sex,$age);
$this ->school = $school;
}
function study(){
echo $this ->name."正在".$this ->school."學習<br>";
}
//定義一個和父類中同名的方法,將父類中的說話方法覆蓋并重寫,多說出所在的學校名稱
function say(){
parent::say(); //調用父類中被本方法覆蓋掉的方法
echo "在".$this ->school."學校上學<br>";
}
}
$student= new Student("張三","男",20,"edu"); //創(chuàng)建一個學生對象,并傳給一個學校名稱參數
$student -> say(); //調用學生類中覆蓋父類的說話方法
&#63;> 

上面的例子輸出的結果和前一個例子是一樣的,但在本例中通過在子類中直接調用父類中被覆蓋的方法要簡便很多。另外,在子類覆蓋父類的方法時一定要注意,在子類中重寫的方法訪問權限一定不能低于父類被覆蓋的方法的訪問權限。例如,如果父類中的訪問權限是protected,那么在子類中重寫的方法的權限就要是protected或public。

以上內容是小編給大家介紹的PHP中子類重載父類的方法【parent::方法名】的相關內容,希望對大家有所幫助!如果大家想了解更多資訊,敬請關注幫客之家網站!

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/1123798.htmlTechArticlePHP中子類重載父類的方法【parent::方法名】,中子parent 在PHP中不能定義重名的函數,也包括不能再同一個類中定義重名的方法,所以也就沒...
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimanakah saya tetap terkini dengan perkembangan php terkini dan amalan terbaik? Bagaimanakah saya tetap terkini dengan perkembangan php terkini dan amalan terbaik? Jun 23, 2025 am 12:56 AM

Tostaycurrentwithphpdevelopmentsandbestpractices, followeyNewsssourcesLikePhp.netandphpweekly, engageWithCommunitiesonforumsandconference, keeptoolingupdatedandgraduallyAdoptNewFeatures, dan readribcoursourcourceSource

Apakah php, dan mengapa ia digunakan untuk pembangunan web? Apakah php, dan mengapa ia digunakan untuk pembangunan web? Jun 23, 2025 am 12:55 AM

Phpbecamepopularforwebdevelopmentduetoitseaseoflearning, seamlessintegrationwithhtml, widespreadhostingsupport, andalargeecosystemincludingframeworkslikelaravelandcmsplatformsLikeWordPress.itexcelsinhandessubmissions

Bagaimana cara menetapkan zon waktu php? Bagaimana cara menetapkan zon waktu php? Jun 25, 2025 am 01:00 AM

TosetTheRightTimeZoneinPhp, USEDATE_DEFAULT_TIMEZONE_SET () functionAtthestArtAfyourscriptwithavalididentifiersuchas'america/new_york'.1.usedate_default_timeSet ()

Bagaimanakah saya mengesahkan input pengguna dalam PHP untuk memastikan ia memenuhi kriteria tertentu? Bagaimanakah saya mengesahkan input pengguna dalam PHP untuk memastikan ia memenuhi kriteria tertentu? Jun 22, 2025 am 01:00 AM

TOVALIDATEUSERIputInphp, UsEbuilt-InvalidationFunctionsLikeFilter_var () danFilter_Input (), applyRegularExpressionsforcustomformatssuchasususerorphonenumbers, checkdatatypesfornumericressplimeSpriceSprice, setLengthacheAngeAgeorpriceSprice, setLengthacheArpesenprice,

Apakah Serialization Data dalam PHP (Serialize (), Unserialize ())? Apakah Serialization Data dalam PHP (Serialize (), Unserialize ())? Jun 22, 2025 am 01:03 AM

ThPhpFunctionserialize () andUnserialize () diselaraskanToConvertComplexDataStructructDestoresIntoStorasandabackagain.1.Serialize () C overtsdatalikeCarraysorObjectSrayStringContainingTyPeanStructureStructureStructureStructure.2.2Serialize ()

Bagaimana saya membenamkan kod php dalam fail html? Bagaimana saya membenamkan kod php dalam fail html? Jun 22, 2025 am 01:00 AM

Anda boleh membenamkan kod PHP ke dalam fail HTML, tetapi pastikan fail itu mempunyai lanjutan .php supaya pelayan dapat menghuraikannya dengan betul. Gunakan tag standard untuk membungkus kod PHP, masukkan kandungan dinamik di mana sahaja di HTML. Di samping itu, anda boleh menukar PHP dan HTML beberapa kali dalam fail yang sama untuk merealisasikan fungsi dinamik seperti rendering bersyarat. Pastikan anda memberi perhatian kepada konfigurasi pelayan dan ketepatan sintaks untuk mengelakkan masalah yang disebabkan oleh label pendek, kesilapan tanda petikan atau label akhir yang ditinggalkan.

Apakah amalan terbaik untuk menulis kod PHP yang bersih dan boleh dipelihara? Apakah amalan terbaik untuk menulis kod PHP yang bersih dan boleh dipelihara? Jun 24, 2025 am 12:53 AM

Kunci untuk menulis kod PHP yang bersih dan mudah dijaga terletak pada penamaan yang jelas, berikutan piawaian, struktur yang munasabah, menggunakan komen dan kesesuaian yang baik. 1. Gunakan pembolehubah, fungsi dan nama kelas yang jelas, seperti $ userData dan calculateToTalPrice (); 2. Ikuti gaya kod bersatu piawai PSR-12; 3. Pecahkan struktur kod mengikut tanggungjawab, dan aturnya menggunakan katalog MVC atau Laravel; 4. Elakkan kod gaya mi dan memecah logik ke dalam fungsi kecil dengan satu tanggungjawab; 5. Tambah komen pada mata utama dan tulis dokumen antara muka untuk menjelaskan parameter, pulangan nilai dan pengecualian; 6. Meningkatkan kebolehlihatan, mengguna pakai suntikan pergantungan, mengurangkan kaedah keadaan global dan statik. Amalan ini meningkatkan kualiti kod, kecekapan kerjasama dan kemudahan pasca penyelenggaraan.

Bagaimana saya melaksanakan pertanyaan SQL menggunakan php? Bagaimana saya melaksanakan pertanyaan SQL menggunakan php? Jun 24, 2025 am 12:54 AM

Ya, youpanrunsqlqueriesusingphp, danTheProcessinvolveschoosingadatabaseextension, connectingTothedatabase, executingqueriSafely, andclosingconnectionswhendone.todothis, firstChoosebetweBetbeSquLiorpiorpiorpiorpiorpiorpiorpiorpiorpiorpiorpiorpiorpiorpiorpiorpiorpiorpiorpiorpdob

See all articles