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 – 4. diel - PRIPOMIENKOVÉ narodenín - Logická vrstva

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 Jan Vargovský
Kit:1.11.2013 18:30

Stačí, když každá osoba poskytne kolekci informaci (vlastnost) o tom, za jak dlouho bude mít narozeniny. To si spočítá velmi snadno. Kolekce si už dokáže vybrat osobu s nejmenším číslem.

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 Kit
Jan Vargovský:1.11.2013 18:31

Ano, ale nemusí to být jediná vlastnost. Může se to rozšířit, přidat další vlastnosti a pořád budeš rvát logiku někde tam kde nemá...

Avatar
Odpovedá na Jan Vargovský
Neaktivní uživatel:1.11.2013 18:45

já osobně bych taky nechal řešit osobu, za jak dlouho bude mít narozeniny spíš než nějaký controler.

Odpovedať
Neaktivní uživatelský účet
Avatar
Kit
Tvůrce
Avatar
Odpovedá na Jan Vargovský
Kit:1.11.2013 18:48

Takže raději budeš psát další a další managery a zpřístupňovat jim vlastnosti osob, které by se vůbec neměly zveřejňovat?

Bavíme se o OOP. Pokud chceš mít anemické objekty, ve kterých budou pouze vlastnosti, jejich gettery a settery, použij raději struct.

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 Neaktivní uživatel
Jan Vargovský:1.11.2013 18:52

Takhle ano. Ale my se bavíme o tom, jaká osoba bude mít nejdřív narozeniny ze seznamu osob...

Avatar
Jan Vargovský
Tvůrce
Avatar
Odpovedá na Kit
Jan Vargovský:1.11.2013 18:53

Proč bych nemohl zveřejňovat vlastnosti osoby ? Teď podle té Funebrakovy odpovědi se možná celou dobu bavíme každý o nečem jiném

Avatar
Odpovedá na Jan Vargovský
Neaktivní uživatel:1.11.2013 19:00

Co jsem pochopil, tak řešíte která osoba bude mít první narozeniny. Opravte mě jestli se pletu :D

Odpovedať
Neaktivní uživatelský účet
Avatar
Kit
Tvůrce
Avatar
Odpovedá na Jan Vargovský
Kit:1.11.2013 19:09

Protože gettery a settery porušují zapouzdření objektů.

Odpovedať
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Odpovedá na Kit
Michal Žůrek - misaz:1.11.2013 19:15

ale zas je blbost aby bylo všechno top secret.

Avatar
Kit
Tvůrce
Avatar
Odpovedá na Michal Žůrek - misaz
Kit:1.11.2013 19:49

Jistě, ale také je blbost, aby třída měla 20 atributů, 20 getterů a 20 setterů a žádné metody. V tom případě skutečně struct poslouží mnohem lépe.

Následující kód není návodem, ale je jen ukázkou, jak se dá snadno nahradit anemická třída strukturou.

using System;

class Struct {
    struct Osoba {
        public string Jmeno;
        public DateTime Narozeniny;

        public Osoba(string jmeno, DateTime narozeniny) {
            Jmeno = jmeno;
            Narozeniny = narozeniny;
        }

        public string naroz() {
            return Jmeno + " má narozeniny " + Narozeniny;
        }
    }

    static void Main(string[] args) {
        Osoba os = new Osoba("Adam", new DateTime(2013, 11, 1));
        Console.WriteLine(os.naroz());
    }
}

Vlastnosti mohou být v tomto případě i private a mít i gettery/settery.

Odpovedať
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
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 50.