Autor Zpráva
tazatel
Profil *
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 *
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 *
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

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: