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 - Vlastnosti

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
United121CZ
Člen
Avatar
United121CZ:16.6.2013 21:47

Ahoj, mám dotaz pokud napíši (do třídy Vlastnosti)

//konstruktor
public Vlastnosti(int cisloTest)
        {
            CisloTest = cisloTest;
        }
private int CisloTest { get; private set; }
private bool jeSude;
public bool JeSude
        {
            get
            {
                return jeSude;
            }
            set
            {
                jeSude = (CisloTest%2==0);
            }
        }

a v main mám toto:

Vlastnosti s = new Vlastnosti(15);
Console.WriteLine(s.JeSude);

tak to vyhodí chybu :

The accessibility modifier of the 'VlastnostiAStatika.Vlastnosti.CisloTest.set' accessor must be more restrictive than the property or indexer 'VlastnostiAStatika.Vlastnosti.CisloTest'

tak jsem potom změnil private int CisloTest { get; private set; } -> private int CisloTest { get; set; } a ono to šlo ... ale proč ? (btw. vim že ten test "sudosti" je stupidní :) )

Avatar
Petr Nymsa
Tvůrce
Avatar
Odpovedá na United121CZ
Petr Nymsa:16.6.2013 21:54

Kromě stupdidního testu je to celé divné ;). Každopádně přečti si ještě jednou k čemu slouží vlastnosti. K čemu tedy deklarovat privátní vlastnost a ještě privátní set ? Pokud chceš mít set čistě privátní napiš to takhle

public int Cislo**{get; private set;}**

Jinak název třídy Vlastnosti také není asi úplně nejlepší.. k čemu to má sloužit ?

Editované
Odpovedať
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
United121CZ
Člen
Avatar
United121CZ:19.6.2013 22:03

No nevim jestli jsem to pochopil dobře, ale vlastnosti slouží k bezpečnému zadávání (měnení) promněných (jejich změna může vyvolat "jinou změnu" na jiné promněnné) - no je pravda že v tomto příkladu je to docela k ničemu aby to bylo privátní ... už to asi vidim :D ale pro jistotu -> k čemu teda jsou ty vlastnosti podle tebe (a ano článek jsem četl několikrát) ?

EDIT : zapomnel jsem dal ze to je reakce a jako koukam tak to uz asi nezmenim

Editované
Avatar
Fleury#93
Člen
Avatar
Fleury#93:19.11.2013 12:45

Me nefunguje uplne ten nekratsi zapis:

Mam tridu uzivatel:

class Uzivatel
    {
        private string jmeno;

        public Uzivatel(string jmeno)
        {
            this.jmeno = jmeno;
        }

        public string Jmeno { get; set; }
}

A v mainu to chci pouzit:

Uzivatel u1 = new Uzivatel("Ivos");
            Console.WriteLine(u1.Jmeno);
            Console.ReadKey();

Dopadne to tak ze se do console nic nevypise :(

Avatar
David Hartinger
Vlastník
Avatar
Odpovedá na Fleury#93
David Hartinger:19.11.2013 14:26

Protože to máš špatně. Má to být takhle:

class Uzivatel
     {
         public string Jmeno { get; set; }

         public Uzivatel(string jmeno)
         {
             Jmeno = jmeno;
         }


 }
Odpovedať
New kid back on the block with a R.I.P
Avatar
Rosemary
Člen
Avatar
Rosemary:15.2.2014 12:14

Ahoj, ve větě
"Pokud si přejeme, aby vlastnost nešla mimo třídu měnit, označíme getter jako privátní"
Nemá být setter ? ;)
Jinak dobrý článek :)

Avatar

Nevyplnené
Avatar
:19.2.2014 18:02

Niečo som nepochopil, alebo namiesto:
s.vek = 15;
s.muz = false;
by malo byť:
s.Vek = 15;
s.Muz = false;

Avatar
Odpovedá na
Zdeněk Pavlátka:19.2.2014 18:07

Máš pravdu, asi jde o překlep.

Odpovedať
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar

Nevyplnené
Avatar
:23.2.2014 12:30

Ďakujem

Avatar
David Hartinger
Vlastník
Avatar
Odpovedá na
David Hartinger:21.3.2014 17:18

Díky, opraveno.

Odpovedať
New kid back on the block with a R.I.P
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 99.