Mikuláš je tu! Získaj 90 % extra kreditov ZADARMO s promo kódom CERTIK90 pri nákupe od 1 199 kreditov. Len do nedele 7. 12. 2025! Zisti viac:
NOVINKA: Najžiadanejšie rekvalifikačné kurzy teraz s 50% zľavou + kurz AI ZADARMO. Nečakaj, táto ponuka dlho nevydrží! Zisti viac:

Diskusia – 10. diel - Aréna s mágom (dedičnosť a polymorfizmus)

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
Honza
Nevyplnené
Avatar
Honza:23.7.2013 14:24

Odpoví prosím někdo? Už jsem se dostal k 17. dílu, ale tohle mě pořád trápí :)

Avatar
Theodor Johnson
Tvůrce
Avatar
Odpovedá na
Theodor Johnson:23.7.2013 14:29

pokud si zavoláš metodu tak si můžeš změnit proměnou jakéhokoliv typu nemusí být přístupná z toho objektu ze kterého voláš tu metodu, stačí když k té proměnné bude mít přístup ta metoda

Avatar
Kit
Tvůrce
Avatar
Odpovedá na
Kit:23.7.2013 14:33

Přečti si to ještě jednou:
Musíme třídu Bojovnik lehce upravit. Změníme modifikátory private u atributů na protected.

Editované
Odpovedať
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Kit
Tvůrce
Avatar
Odpovedá na Theodor Johnson
Kit:23.7.2013 14:40

Jenže tady zatím žádné takové metody nebyly definovány. Gettery a settery se používají spíš mezi objekty různých tříd než u dědičnosti.

Odpovedať
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Theodor Johnson
Tvůrce
Avatar
Odpovedá na Kit
Theodor Johnson:23.7.2013 15:29

Já jsem ten článek nečetl, jenom jsem napsal jak se dá přistupovat k privátní proměnné :)

Avatar
Kit
Tvůrce
Avatar
Odpovedá na Theodor Johnson
Kit:23.7.2013 15:40

Jedno pravidlo: K privátní proměnné se nepřistupuje, protože pak už by nebyla privátní. Můžeš však požádat setter, aby ji změnil nebo getter, aby získal její hodnotu. Pokud budou také privátní, tak máš smůlu a nedostaneš se k ní.

Dědičnost je nástroj, který mi umožní obejít obstrukci s gettery a settery, ale musím změnit u proměnné změnit privátní status na protected. Pak už v potomkovi nebudu potřebovat gettery ani settery, ale budu moct k nim přistupovat přímo. Z jiných objektů však zůstanou nedostupné.

Odpovedať
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Theodor Johnson
Tvůrce
Avatar
Odpovedá na Kit
Theodor Johnson:23.7.2013 16:00

Mě to nemusíš vysvětlovat, ale nevím proč bych kvůli každý proměnný kterou třeba potřebuji jednou během běhu programu měl psát hned setter, to tam radši dám metodu se vstupní hodnotou která tu proměnnou nastaví, anebo jednoduší způsob je nastavit ji public

Avatar
Jan Vargovský
Tvůrce
Avatar
Odpovedá na Theodor Johnson
Jan Vargovský:23.7.2013 16:08

To myslíš jako normalně natvrdo takhle?

public int foo;

Fuj, vždyť .NET povoluje zkrácené get,set. Není lepší napsat jen :

public int Foo{get;set;}
Avatar
Kit
Tvůrce
Avatar
Odpovedá na Theodor Johnson
Kit:23.7.2013 16:11

Za běhu programu přece žádnou proměnnou objektu nepotřebuji. K čemu by mi byla? To si pleteš s imperativním programováním. Článek je o OOP.

Editované
Odpovedať
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Theodor Johnson
Tvůrce
Avatar
Odpovedá na Jan Vargovský
Theodor Johnson:23.7.2013 16:14

Já to odlišuji způsobem kdy takto nastavím nedůležité proměnné, get; set; nastavuji proměným které mají třeba vliv na nějákou důležitou vlastnost, popř to řeším

public Point PixelSize { get; private set; }
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é 10 správy z 138.