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 – 12. diel - Gettery a settery v Jave

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
Kit
Tvůrce
Avatar
Odpovedá na mmartinssedlacek
Kit:12.1.2014 23:48

Na defaultní hodnoty raději rychle zapomeň. Nepatří to k dobrému programátorskému stylu.

Kromě toho to u typu String neplatí.

Odpovedať
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Jan Vargovský
Tvůrce
Avatar
Odpovedá na mmartinssedlacek
Jan Vargovský:12.1.2014 23:54

String je defaultně null. Jak říká Kit, vždycky si nadefinuj defaultní hodnoty pro všechny proměnné, ať už přímo nebo v konstruktoru. Jinak všechny ty fieldy by měly být private. Všechno co je public by se mělo řešit jen přes metodu nebo vlastnost (metoda getVlastnost nebo setVlasnost).

Avatar
Kit
Tvůrce
Avatar
Odpovedá na mmartinssedlacek
Kit:12.1.2014 23:59

Správně se má hodnota proměnné "plnolety" nastavit takto:

this.plnolety = (this.vek >= 18);

(ty závorky tam jsou jen pro okrasu :)

Editované
Odpovedať
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
mmartinssedlacek:13.1.2014 12:29

Ok, dik. Este otazka, tie defaultne hodnoty si mam nastavit v nejakej triede co budem pripajat do kazdeho projektu ? Alebo pri kazdom projekte co budem robit, pre kazdu premennu napr. uz ked budem pisat private int vek; tak napisem private int vek=0;

Avatar
Kit
Tvůrce
Avatar
Odpovedá na mmartinssedlacek
Kit:13.1.2014 14:02

Můžeš udělat nejen

private int vek = 9*2;
private String stat = "ČR";

ale i složitější přiřazení, které nezávisí na parametrech konstruktoru, např.

JButton bKonec = new JButton("Konec");
Odpovedať
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
mmartinssedlacek:13.1.2014 14:17

Ok, diky Kit.

Avatar
sisolpes
Člen
Avatar
sisolpes:8.2.2014 19:02

Mohu se zeptat, proč getter a setter nefunguje (lze "rozbít" program):

public int součet;
int Sečti(int prvníčíslo, int druhéčíslo, boolean vypiš){
        int součet = prvníčíslo+druhéčíslo;
        this.součet = součet;
        if(vypiš == true){
        System.out.println(součet);
}
        return součet;
}

public int getSoučet() {
        return součet;
}
public void setSoučet(int součet) {
        this.součet = součet;
}       }
Odpovedať
Alt + 2
Avatar
Odpovedá na sisolpes
Matěj Kripner:16.2.2014 19:42

Nastav atribut soucet na private.

Avatar
Odpovedá na sisolpes
Matěj Kripner:16.2.2014 20:06

Jo, a taky tam máš docela zmatek :D (Zkus vylepšit hierarchii postavení textu), u metody Sečti ti chybí modifikátor přístupu a taky je podle mě zbytečné dávat atributům nebo metodám názvy s diakritikou. No a když už nepíšeš úplně přehledně, měl bys to komentovat. :D

Avatar
sisolpes
Člen
Avatar
Odpovedá na Matěj Kripner
sisolpes:19.2.2014 14:21

Díky, pokusím se :D

Odpovedať
Alt + 2
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 92.