NOVINKA: Získej 40 hodin praktických dovedností s AI – ZDARMA ke každému akreditovanému kurzu!
S účinností od 26. 3. jsme aktualizovali Zásady zpracování osobních údajů – doplnili jsme informace o monitorování telefonických hovorů se zájemci o studium. Ostatní části zůstávají beze změn.

Diskuze – Lekce 8 - 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
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.

 
Odpovědět
+1
7.3.2019 17:14
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

 
Odpovědět
+2
7.3.2019 20:12
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ěď.

 
Odpovědět
7.3.2019 21:22
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
17.3.2021 14:32
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
+2
18.3.2021 7:59
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
+2
27.11.2021 14:47
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.

 
Odpovědět
10.2.2022 21:54
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.

 
Odpovědět
10.2.2022 21:58
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

 
Odpovědět
8.8.2022 14:48
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
15.8.2022 15:52
Neaktivní uživatelský účet
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.