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 – 9. diel - 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
Jakub Holeček:7.3.2019 17:14

Ahojte
Mám dotaz ohledně příkazu instanceof.
Je možné ověřit typ instance podle jména?
např.: "

if("Josef Nový" instanceof Administrator){
}

Asi je to hloupý dotaz, ale s programováním teprve začínám a tohle by se mi dost hodilo.

Avatar
pocitac770
Tvůrce
Avatar
Odpovedá na Jakub Holeček
pocitac770:7.3.2019 20:12

"Josef Nový" je hodnota typu String, protože co je v uvozovkách, to je String. Když takto používáš nějaké operátory, metody atp, tak vždy musíš uvézt tu konkrétní proměnnou, protože co je pro počítač "Josef Nový"? Pouze kus textu, nic víc. Pokud chceš vyhledat někoho toho jména a zjistit, zda je administrátor, tak to tak udělej. Pravděpodobně je budeš mít uložené v nějaké kolekci uživatelů, tak v ní vyhledej podle jména, a nalezeného uživatele zkus pomocí instanceof prozkoumat

Avatar
Odpovedá na pocitac770
Jakub Holeček:7.3.2019 21:22

Tak nějak jsem tušil, že to nebude tak jednoduché.
Zkusím si s tím trochu víc pohrát.
Každopádně díky za odpověď.

Avatar
Lubor Pešek
Člen
Avatar
Lubor Pešek:17.3.2021 14:32

Malinký překlep

Java nám je do třídy sám dodá:

Odpovedať
Existují dva způsoby, jak vyřešit problém. Za prvé vyhoďte počítač z okna. Za druhé vyhoďte okna z počítače.
Avatar
Lubor Pešek
Člen
Avatar
Lubor Pešek:18.3.2021 7:59

Zdravíčko,

Pokud bychom chtěli atributy nebo metody zpřístupnit pouze třídě samotné a jejím potomkům, neuvedeme před ně žádný modifikátor přístupu.

myslím, že tady je chyba. Modifikátor přístupu package private (už ze svého názvu) nemá nic společné s potomky. V jiném balíčku ani potomci dotyčný atribut/metodu už neuvidí.
Takže toto by měla být špatná definice tohoto modifikátoru přístupu.

Odpovedať
Existují dva způsoby, jak vyřešit problém. Za prvé vyhoďte počítač z okna. Za druhé vyhoďte okna z počítače.
Avatar
Odpovedá na Lubor Pešek
Lukáš Kučavík:27.11.2021 14:47

Domnívám se, že tomu tak opravdu je. Bez modifikátoru jsou prvky dostupné v rámci své třídy a balíčku, ale už ne v rámci potomka (podtřídy) či dokonce veřejně. Toto by šlo krásně a přehledně vyobrazit jednoduchou tabulkou.

Editované
Odpovedať
Každý je zodpovědný za svůj život ale ne každý je ochoten tu zodpovědnost přijmout.
Avatar
Josef Šrámek:10.2.2022 21:54

Ahoj. Tak s těmi modifikátory přístupu je asi to trochu jinak než v tutoriálu. Naprogramoval jsem si primitivní aplikaci ve které jsem použil dědění a různé modifikátory přístupu. Správně funguje pouze "public" a "private".

U metody bez uvedení modifikátoru, která by měla být přístupná pouze v příslušné třídě a třídě která s ní dědí, je možno pracovat jako s "public", jako by se nechumelilo :-).

Pro otestování modifikátoru "protected " jsem si schválně vytvořil nový baliček tříd, kde jsem se snažil použít dědění importovaných tříd. Bohužel kód, i když funguje formálně bez syntaktických chyb, mi zobrazuje úplně stejné výstupy jako v původním
balíčku, i když byl v novém balíčku změněn. Kód ve výchozím balíčku je uveden dole.

Avatar
Josef Šrámek:10.2.2022 21:58

Pardon. Pro uložení kódu jsem použil odkaz: "Máš dlouhý zdroják?" Uložil se, ale nezobrazil. Pro zájemce mohu poslat mailem. Bohužel neumím ještě dobře používat příslušný odkaz.

Avatar
Fíla N.
Člen
Avatar
Fíla N.:8.8.2022 14:48

Nějak mi nesedí vysvětlení modifikátorů přístupů. Když jsem si něco vyzkoušel, tak mi přišlo, že se to chová jinak, než je popsáno v tutoriálu. Zmiňuje to i někdo dole v komentech

Avatar
Neaktivní uživatel:15.8.2022 15:52

"Pokud bychom chtěli atributy nebo metody zpřístupnit pouze třídě samotné a jejím potomkům, neuvedeme před ně žádný modifikátor přístupu.

Začátek třídy Uzivatel by tedy vypadal takto:"

Je to zmatečné, když potom následuje obrázek s modifikátory "private"

Odpovedať
Neaktivní uživatelský účet
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 52.