Valentýnská akce je tady! Získej až 80 % extra kreditů ZDARMA na náš interaktivní e-learning. ZJISTIT VÍCE:
NOVINKA: Staň se datovým analytikem a získej jistotu práce, lepší plat a nové kariérní možnosti. Více informací:

Diskuze – Lekce 2 - První objektová aplikace v PHP

Zpět

Upozorňujeme, že diskuze pod našimi online kurzy jsou nemoderované a primárně slouží k získávání zpětné vazby pro budoucí vylepšení kurzů. Pro studenty našich rekvalifikačních kurzů nabízíme možnost přímého kontaktu s lektory a studijním referentem pro osobní konzultace a podporu v rámci jejich studia. Toto je exkluzivní služba, která zajišťuje kvalitní a cílenou pomoc v případě jakýchkoli dotazů nebo projektů.

Komentáře
Nejnovější komentáře jsou na konci poslední stránky.
Avatar
DarkCoder
Člen
Avatar
Odpovídá na Tomáš Prčík
DarkCoder:3. února 19:54

Ano, definice metody je jen jedna. Objektů může být více. Proto aby se dokázalo správně přistupovat k metodě nebo atributu onoho objektu. je třeba this svázat s onou instancí.

Odpovědět
"I ta nejlepší poučka postrádá na významu, není-li patřičně předána." - DarkCoder
Avatar
Tomáš Prčík:8. února 13:06

Zdravím Vás,

zvolejte mi prosím ohledně té Vaší faktury. Protože mi to fakt hrozně šetří čas. Chci se Vás ještě zeptat: jak se rozhodovat, jestli do kulatých závorek metody / funkce, psát, nebo nepsát proměnné, se kterými ta funke / metoda pracuje. Někdy je to věch kódech necháváno prázdné, jindy tam jsou proměnné uvedené.

Díky. A zavolejte prosím - 775 70 60 10, Tom

Avatar
DarkCoder
Člen
Avatar
Odpovídá na Tomáš Prčík
DarkCoder:8. února 13:39

Zda vytvářet funkci nebo metodu s parametry nebo bez zálež na tom, zda chování této funkce/metody je na tom závislé.

Příklad:

class Auto {
    public $barva; // atribut třídy

    public function nastavBarvu($barva) { // $barva je parametr metody
        $this->barva = $barva; // $this->barva je odkaz na instanční atribut, $barva je používaný parametr
    }

    public function vypisBarvu() {
        echo $this->barva; // odkaz na instanční atribut
    }
}

$mojeAuto = new Auto();
$mojeAuto->nastavBarvu("červená"); // červená je atribut funkce, ne však atribut třídy
$mojeAuto->vypisBarvu(); // červená // výpis instančního atributu

Když se vytvoří nová instance, tak hodnota jejího atributu je neznámá. Proto když voláme metodu dané instance a chceme nastavit její vnitřní stav, tak musíme sdělit jakou hodnotu chceme její atribut nastavit. Proto ta metoda nastavBarvu() bude mít parametr pomocí kterého se nastaví instanční atribut.

Je třeba se vždy zamyslet jak ta funkce/metoda bude fungovat. Když chceš dělat třeba druhou mocninu, tak musíš nějak zdělit základ. tedy funkce/metoda bude mít určitě parametr.

function druhaMocnina($cislo) {
    return $cislo ** 2;
}
Odpovědět
"I ta nejlepší poučka postrádá na významu, není-li patřičně předána." - DarkCoder
Avatar
Odpovídá na DarkCoder
Tomáš Prčík:8. února 13:57

Zdravím, pardon, nepřesně jsem se vyjádřil. Já jsem měl na myslí, kdy uvádět / neuvádět proměnné do kulatých závorek v metodách třídy, ne v metodách instance. Děkuju.

Avatar
DarkCoder
Člen
Avatar
Odpovídá na Tomáš Prčík
DarkCoder:8. února 13:58

Ten princip je stejný

Odpovědět
"I ta nejlepší poučka postrádá na významu, není-li patřičně předána." - DarkCoder
Avatar
DarkCoder
Člen
Avatar
Odpovídá na Tomáš Prčík
DarkCoder:8. února 14:01

Příklad se statickou metodou:

class Matematika
{
    public static function druhaMocnina($cislo)
    {
        return $cislo ** 2;
    }
}

a použití:

echo Matematika::druhaMocnina(6); // 36

static = metoda není instanční
Volá se pomocí NázevTřídy::me­toda()
Nepoužívá $this

Odpovědět
"I ta nejlepší poučka postrádá na významu, není-li patřičně předána." - DarkCoder
Nejnovější komentáře jsou na konci poslední stránky.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 6 zpráv z 46.