NOVINKA - Online rekvalifikační kurz Python programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze – Lekce 11 - Gettery a settery v Javě

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

Člen
Avatar
:1.4.2013 22:20

jen poznámka ke kódu.. plnolety = true; if(vek < 18) plnolety = false; really? A u věku by se mohlo ověřit jestli není zápornej ;)

Editováno 1.4.2013 22:20
 
Odpovědět
1.4.2013 22:20
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na
David Hartinger:2.4.2013 8:44

A kde má být problém?

Odpovědět
2.4.2013 8:44
New kid back on the block with a R.I.P
Avatar
Kit
Tvůrce
Avatar
Kit:2.4.2013 11:29

"Gettery a settery tedy budeme odteď používat u všech atributů, které mají být zvenčí přístupné."

Zároveň by to programátora mělo vést k tomu, aby se nesnažil automaticky generovat gettery a settery pro každý atribut, aby se zbytečně nerozrůstalo rozhraní třídy. Většina atributů třídy (ne-li všechny) by měla zůstat privátní, z vnějšku nedostupná. Occamova břitva by měla fungovat i zde.

Odpovědět
2.4.2013 11:29
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Kit
Tvůrce
Avatar
Kit:2.4.2013 11:31

Proměnná "boolean pohlavi" znamená, že to pohlaví má nebo nemá?

Odpovědět
2.4.2013 11:31
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Kit
David Hartinger:2.4.2013 11:45

:D Mělo by tam být muz, v atributu je to správně. Čekal jsem, že se u těch getterů a setterů ozveš, je to určitě kontroverzní téma. Samozřejmě bychom měli zpřístupnit jen to nutné a navrhovat komponenty šikovně.

Odpovědět
2.4.2013 11:45
New kid back on the block with a R.I.P
Avatar
Kit
Tvůrce
Avatar
Odpovídá na David Hartinger
Kit:2.4.2013 12:05

V atributu to není správně. Atribut se má nazývat "pohlavi" a nabývat hodnot MUŽ a ŽENA. Pro typ boolean ani string zde není místo. Jak jinak bys to pak vypisoval? To bys chtěl mít ve výstupu pohlaví false a true? To by se špatně četlo.

Třídy se mají navrhovat tak, aby měly minimální rozhraní a tím i minimální rozsah dokumentace, neboť se v ní vyskytne i každý getter a setter. To není vždy žádoucí.

Odpovědět
2.4.2013 12:05
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Kit
David Hartinger:2.4.2013 12:22

Enumy jsem tu ještě neprobíral, proto je tu atribut muz :)

Odpovědět
2.4.2013 12:22
New kid back on the block with a R.I.P
Avatar
Kit
Tvůrce
Avatar
Odpovídá na David Hartinger
Kit:2.4.2013 12:32

OK, na enumy se těším. Dají se s nimi dělat dost velké divočárny, umí nahradit i switch. Jsou to vlastně vylepšené třídy.

Odpovědět
2.4.2013 12:32
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Lukáš Hruda
Tvůrce
Avatar
Odpovídá na David Hartinger
Lukáš Hruda:2.4.2013 12:34

Mohl jsi místo enumu použít konstanty, nejlépe statické. Něco jako:

static final byte muz = 0;
static final byte zena = 1;
...
byte pohlavi = muz;

Tohle bych použil já, kdybych neznal enum.

 
Odpovědět
2.4.2013 12:34
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Lukáš Hruda
Kit:2.4.2013 12:40

V případě boolean i numerické konstanty mi chybí hodnota "null", tedy nedefinovaný stav. Občas je dobré ho mít.

Odpovědět
2.4.2013 12:40
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
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 89.