Autor | Zpráva | ||
---|---|---|---|
Jiří Ráb Profil |
#1 · Zasláno: 13. 11. 2017, 11:54:20
Ahoj chci se zeptat,když dědím ze třídy a potřebuji upravovat a přistupovat k proměnným zda použít parent nebo this ?
viz kod <?php declare(strict_types=1); class Dopravni_pros{ private $typ_dop_pros; private $nazev; private $poc_mist; private $max_rychlost; private $palivo; private $motor; public function __construct(string $typ_dop_pros,string $nazev, int $poc_mist, int $max_rychlost, string $palivo, string $motor){ if($typ_dop_pros=='trolejbus' && $palivo=='nafta'){ echo ' Zadali jste spatne palivo nebo typ dopravního prostredku. '. }else if($typ_dop_pros=='autobus' && $palivo=='elektrina'){ echo ' Zadali jste spatne palivo nebo typ dopravního prostredku. '. }else{ $this->typ_dop_pros=$typ_dop_pros; $this->nazev=$nazev; $this->poc_mist=$poc_mist; $this->max_rychlost=$max_rychlost; $this->palivo=$palivo; $this->motor=$motor; } } } $ob=new Dopravni_pros(); ?> <?php require_once('Dopravni_pros.php'); class Uprava extends Dopravni_pros{ public function __construct(){ } public function __get(){ $pole=array($this->typ_dop_pros,$this->nazev,$this->poc_mist,$this->max_rychlost,$this->palivo,$this->motor); for($i=0;$i<count($pole);$i++){ return $pole[$i]; } } public function __set($nastaveni,$hodnota){ switch ($nastaveni) { case 'typ_dop_pros': $this->typ_dop_pros=$hodnota; break; case 'nazev': $this->nazev=$hodnota; break; case 'poc_mist': $this->poc_mist=$hodnota; break; case 'max_rychlost': $this->max_rychlost=$hodnota; break; case 'palivo': $this->palivo=$hodnota; break; case 'motor': $this->motor=$hodnota; break; default: echo'Vami zadane parametry nebyly nalezeny.' break; } } } $up=new Uprava(); $up->get_(); $up->set_(); ?> |
||
weroro Profil |
Vidteľnosť private platí iba pre konkrétnu triedu. Potomok triedy nemá ku tejto premennej/metóde prístup. Na to aby si mal prístup, musí byť nastavená public alebo protected. V tedy môžeš z potomka volať tieto premenné/metódy cez
$this->
|
||
M4n Profil * |
#3 · Zasláno: 13. 11. 2017, 14:26:35
Když nebudeš parent používat vůbec (nebo čistě jen pro účely volání rodičovské metody z té, která ji právě přepisuje), neuděláš chybu.
|
||
Jiří Ráb Profil |
#4 · Zasláno: 13. 11. 2017, 19:48:48
Díky za pomoc
|
||
Časová prodleva: 6 let
|
0