Autor | Zpráva | ||
---|---|---|---|
tazatel Profil * |
#1 · Zasláno: 14. 5. 2012, 21:28:14
Dobrý den,
zkouším se naučit základy oop v php, nicméně jsem skončil ještě dříve než jsem začal :) Pročetl jsem několik stránek a pak sesmolil toto a ono, to nefunguje, nemůže mně někdo poradit, proč to nefunguje :( tuším, že to bude něco primitivního, ale už si fakt nevím rady :(( <?php class Clovek { private $vek; private $vyska; public $jmeno; public function ZjistiVek($vek) {$this->vek;} public function VypisVek() {echo "Věk člověka je : ".$this->vek;}} $Clovek = new Clovek(); $Clovek->ZjistiVek(5); $Clovek->VypisVek();?> |
||
final Profil * |
#2 · Zasláno: 14. 5. 2012, 21:34:52
ja s OOP tiež len začínam..ale myslím že máš chybu tu:
public function ZjistiVek($vek){ $this->vek=$vek; } |
||
Darker Profil |
final:
„ale myslím že máš chybu tu:“ To sice má, ale je to Zjisti ne nastav. Chybí tam return. class Clovek { private $vek=0; private $vyska=35; public $jmeno; public function __construct($vek=0) { //Tato funkce se zavolá při vytvoření instance - new Clovek(nepovinny vek) $this->vek = $vek; $this->vyska = 35+$vek*5; //Dejme tomu, že člověk za rok vyroste o 5 cm } public function ZjistiVek() //Dávej funkcím realistické názvy. Vím že jsi tu chtěl věk nastavovat, ale budu se držet názvu funkce {return $this->vek;} public function ZmerSe() { //Máme li vlastnost výška, určité jí sem-tam zkontrolujeme echo "Jsem {$this->vyska}cm vysoky"; } public function Zestarni(/*Zde by mohl být arg - počet let*/) //Tohle je daleko realističtější použití OOP - proměnné spolupracují uvnitř objektu aniž bys to zvenčí musel řešit. { // Mohl by sis zkusit udělat nějaký realistický model růstu ve vztahu k věku $this->vek++; $this->vyska +=5; } public function VypisVek() {echo "Věk člověka je : ".$this->vek;} } $Clovek = new Clovek(); echo "Právě se narodil člověk. Je mu ".$Clovek->ZjistiVek()." let.\n"; $Clovek->Zestarni(); echo "Po roce:\n"; $Clovek->VypisVek(); |
||
final Profil * |
#4 · Zasláno: 14. 5. 2012, 21:50:06 · Upravil/a: final
Darker:
v mojom príklade tam return nie je potrebný pretože sa len pridávala hodnota premennej... v tvojom príklade nie je riešene čo chcel on->teda čo som napísal ja edit: už si to upravil . edit: predsa, nerieši to tvoj príklad :D chcel toto ->ZjistiVek(5)=nechcel vek vypísať ale len hozmeniť ak som dobre pochopil |
||
Časová prodleva: 11 let
|
0