HALLOWEEN JE TADY: Získej 66 % extra kreditů zdarma při nákupu od 1199 kreditů s promo kódem NEBOJSEIT66. Zjisti více:
NOVINKA: Začni v IT jako webmaster s komplexním akreditovaným online kurzem Tvůrce WWW stránek. Zjisti více:

Diskuze – Lekce 9 - Dědičnost a polymorfismus

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
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
Odpovídá 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
Odpovídá 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á:

Odpovědět
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.

Odpovědět
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
Odpovídá 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.

Editováno 27.11.2021 14:48
Odpovědět
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"

Odpovědět
Neaktivní uživatelský účet
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 10 zpráv z 52.