Autor Zpráva
Tomashekk
Profil
Potřeboval bych něco vysvětlit.
Nyní jsem se snažil pochopit co to vlastně je dědičnost a jak funguje.
Je tu někdo, kdo by mi to vysvětlil v praxi jinak než je to v jedné knížce? :) .. tam je to vysvětleno jako pták - sojka :)
Má tu někdo příklad jako scriptu?
__construct
Profil
Pozri si tento článok - je to tam vysvetlené aj na príkladoch
imploder
Profil
Tomashekk:
Pokud tě nenapadá, na co dědičnost použít, tak viz tady ten příklad s kalendářem: http://www.linuxsoft.cz/article.php?id_article=234
Prostě dědičnost se využívá tak, že vezmeme nějakou už existující třídu a upravíme ji pro naše konkrétní použití. Je to výhodné tehdy, když máme víc tříd, které mají něco společného - nemusíme tak programovat každou z nich celou znovu.
Tomashekk
Profil
super.. jenže já nějak nepobírám v tom OOP ještě to, jak vlastně vytvořím celý web... Kde je vlastně ta struktura... tabulky, apod...
__construct
Profil
Nepochopil som to tvoje „struktura… tabulky, apod…“ Ale pokiaľ chceš vedieť ako sa to využíva v praxi pozri si niečo o MVC…
Tomashekk
Profil
__construct:
myslel jsi mvc.cz ? asi ne co? :)
breeta
Profil *
MVC
Tomashekk
Profil
ok, má tu někdo na ukázku jakýkoliv index, který má v sobě strukturu? Tím myslím jako celý vzhled.
Já pořád nějak nepobírám, jak pomocí OOP, mohu udělat např. index.php, který bude vypadat jako toto forum.
WertriK
Profil
Tomashekk:

http://docs.google.com/View.aspx?docid=dc5mxfdk_426xx3dq

http://diskuse.jakpsatweb.cz/?action=vthread&forum=9&topic=32092

Důležité je začít :-)

GL
František Hliva
Profil
Pozor dedičnosť by sa mala používať len v prípade že má zmysel. Určite by sa trieda nemala odvodzovať od ľubovolnej triedy ktorá s ňou logicky nesúvisí.

určite sa vyhni niečomu takémuto:

class Button : FileStream
{
}


dedičnosť by sa mala používať v prípade že odvodený typ vylepšuje svojho predka.

to znamená že ak chceme vytvoriť tlačítko s obrázkom tak ho odvodíme z tlačítka pričom obrázok bude jedna z vlastností (property) tlačítka:

class PictureButton : Button
{
    public Bitmap Icon { get; private set; }
    public PictureButton() : base()
    {
        Icon = new Bitmap();
        Icon.Parent = this;
    }
}


výhoda je že odvodené obrázkové tlačítko (PictureButton) môžeme použiť všade tam kde aj tlačítko (Button) a kompiler nebude protestovať preto že všetky odvodené typy sú spätne kompatibilné so svojimi predkami, hovorí sa tomu polymorfizmus. (Pozor naopak to nefunguje)

teda ak máme napr. kolekciu tlačítok:

class ButtonCollection : List<Button>
{
}

var buttons = new ButtonCollection();
buttons.Add(new Button());
buttons.Add(new PictureButton());


tak do nej môžme vložiť nie len tlačítka ale aj všetky inštancie tried odvodených od Button. Ak chceme polymorfizmus zabezpečiť aj medzi triedami ktoré nie sú navzájom od seba odvodené musíme použiť rozhrania (interface).

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:

0