⊗ppOpIhPrM 31 of 107 menu

Yksityiset menetelmät perinnässä OOP:ssa PHP:ssä

Yksityisiä menetelmiä ei periydy. Tämä on tehty tarkoituksella, jotta kapselointia ei rikota. Katsotaanpa esimerkkiä. Oletetaan, että meillä on seuraava vanhemman luokka, jossa on yksityinen menetelmä:

<?php class User { private $name; public function setName($name) { $this->name = $name; } public function getName() { return $this->capeFirst($this->name); } private function capeFirst($str) { return ucfirst($str); } } ?>

Oletetaan, että vanhemmasta luokasta perii seuraava luokka:

<?php class Student extends User { private $surn; public function setSurn($surn) { $this->surn = $surn; } public function getSurn() { return $this->surn; } } ?>

Oletetaan, että jälkeläinen haluaa käyttää vanhemman yksityistä menetelmää. PHP ei salli tätä ja antaa virheen:

<?php class Student extends User { private $surn; public function setSurn($surn) { $this->surn = $surn; } public function getSurn() { return $this->capeFirst($this->surn); // tulee virhe } } ?>

Kokeile luokassa Employee käyttää vanhemman yksityistä menetelmää.

Suomi
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Käytämme evästeitä verkkosivuston toiminnalle, analytiikalle ja personoinnille. Tietojen käsittely tapahtuu Tietosuojakäytännön mukaisesti.
hyväksy kaikki mukauta hylkää