IT rekvalifikácia. Seniorní programátori zarábajú až 6 000 €/mesiac a rekvalifikácia je prvým krokom. Zisti, ako na to!

Diskusia – 2. diel - Prvý objektová aplikácie v PHP

Späť

Upozorňujeme, že diskusie pod našimi online kurzami sú nemoderované a primárne slúžia na získavanie spätnej väzby pre budúce vylepšenie kurzov. Pre študentov našich rekvalifikačných kurzov ponúkame možnosť priameho kontaktu s lektormi a študijným referentom pre osobné konzultácie a podporu v rámci ich štúdia. Toto je exkluzívna služba, ktorá zaisťuje kvalitnú a cielenú pomoc v prípade akýchkoľvek otázok alebo projektov.

Komentáre
Posledné komentáre sú na spodnej časti poslednej stránky.
Avatar
DarkCoder
Člen
Avatar
Odpovedá na Tomáš Prčík
DarkCoder:3. februára 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í.

Odpovedať
"I ta nejlepší poučka postrádá na významu, není-li patřičně předána." - DarkCoder
Avatar
Tomáš Prčík:8. februára 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
Odpovedá na Tomáš Prčík
DarkCoder:8. februára 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;
}
Odpovedať
"I ta nejlepší poučka postrádá na významu, není-li patřičně předána." - DarkCoder
Avatar
Odpovedá na DarkCoder
Tomáš Prčík:8. februára 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
Odpovedá na Tomáš Prčík
DarkCoder:8. februára 13:58

Ten princip je stejný

Odpovedať
"I ta nejlepší poučka postrádá na významu, není-li patřičně předána." - DarkCoder
Avatar
DarkCoder
Člen
Avatar
Odpovedá na Tomáš Prčík
DarkCoder:8. februára 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

Odpovedať
"I ta nejlepší poučka postrádá na významu, není-li patřičně předána." - DarkCoder
Posledné komentáre sú na spodnej časti poslednej stránky.
Robíme čo je v našich silách, aby bola tunajšia diskusia čo najkvalitnejšia. Preto do nej tiež môžu prispievať len registrovaní členovia. Pre zapojenie sa do diskusie sa zaloguj. Ak ešte nemáš účet, zaregistruj sa, je to zadarmo.

Zobrazené 6 správy z 46.