NOVINKA: Získej 40 hodin praktických dovedností s AI – ZDARMA ke každému akreditovanému kurzu!
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 - Vlastnosti

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
David Hartinger
Vlastník
Avatar
Odpovídá na Selak
David Hartinger:17.2.2015 15:57

Je, díky, opravil jsem to :)

Odpovědět
17.2.2015 15:57
New kid back on the block with a R.I.P
Avatar
Skelag
Člen
Avatar
Skelag:17.2.2015 16:09

Jo ono se vlastně nezapisuje přes getter :o já jsem ale blbec

 
Odpovědět
17.2.2015 16:09
Avatar
Kafac
Člen
Avatar
Odpovídá na David Hartinger
Kafac:27.2.2015 21:24

Ahoj,pořád nechápu,proč tam nemůže být this?

Odpovědět
27.2.2015 21:24
"Lepší, než předpovídat budoucnost, je vytvořit ji." Bill Gates
Avatar
Migi
Tvůrce
Avatar
Odpovídá na Kafac
Migi:5.1.2016 20:14

Podle mě, je to vlastnost a ne promenna, proto je na to napsana metoda a prirazujes pres konstruktor a metodu neco do vlastnosti.

Toto asi nejde..

this.Jmeno = jmeno;
Odpovědět
5.1.2016 20:14
I ta nejhorsi hodina v zivote trva jen 60 minut...
Avatar
Migi
Tvůrce
Avatar
Odpovídá na Migi
Migi:6.1.2016 18:06

Tak to jde, tak spis, ze bude lepsi mit metodu, ktere umi editovat informace o uzivateli? Dve mouchy jednou ranou? :-)

Odpovědět
6.1.2016 18:06
I ta nejhorsi hodina v zivote trva jen 60 minut...
Avatar
Lukáš Hypša:5.3.2016 16:51

V prvním příkladě je vlastnost Jmeno public. Nepostrácí u ní getter a setter trochu smysl?

 
Odpovědět
5.3.2016 16:51
Avatar
ostrozan
Tvůrce
Avatar
Odpovídá na Lukáš Hypša
ostrozan:6.3.2016 8:49

Nějak nerozumím tomu, na co se ptáš
V prvním příkladu (úplně na začátku) to není vlastnost .
Vlastnosti už z principu musí být public, jinak by postrádaly smysl

 
Odpovědět
6.3.2016 8:49
Avatar
Odpovídá na ostrozan
Lukáš Hypša:6.3.2016 14:55

Už chápu dík :)

 
Odpovědět
6.3.2016 14:55
Avatar
Bruno Schwarzbach:24.3.2017 13:13

Prosím o radu, pochopil jsem to tak, že pro default funkci stačí zapsat gettery / settery zkráceným zápisem. U mne to ale nefunguje, dokud nenapíše explicitně do setteru a = value, hodnota se zvenku třídy nezapíše. Něco musím mít špatně.

class Rectangle
    {
        private double a, b;

        public Rectangle(double a, double b)           //Class Rectangle - deklarace třídy s parametry a, b
        {
            this.a = a;
            this.b = b;
        }


        public double Obvod()                          //Metoda pro obvod
        {
            return (2 * a + 2 * b);
        }
        public double Obsah() //                     Metoda pro obsah
        {
            return (a * b);
        }

        public double A { get { return a; } set { a = value; } }    //zmena promennych pomoci vlastnosti - funguje
        public double B { get; set; }                               //zkraceny zapis nefunkcni - proc?
    }
 
Odpovědět
24.3.2017 13:13
Avatar
gcx11
Tvůrce
Avatar
Odpovídá na Bruno Schwarzbach
gcx11:26.3.2017 17:47

Ahoj, protože kompilátor neví, že malé b má být private hodnota pro tvoje velké B. Kdybys to malé b změnil třeba na c, tak se to bude chovat stejně. Ve velkém B máš implicitně 0, jelikož to je defaultní hodnota, na kterou se inicializuje int. Správně řešení je dát pryč private b úplně a používat velké B. Kompilátor si za Tebe vytvoří nějakou proměnnou, ve které bude private hodnota B.

class Rectangle
    {
        private double a;;

        public Rectangle(double a, double b)           //Class Rectangle - deklarace třídy s parametry a, b
        {
            this.a = a;
            this.B = b;
        }


        public double Obvod()                          //Metoda pro obvod
        {
            return (2 * a + 2 * B);
        }
        public double Obsah() //                     Metoda pro obsah
        {
            return (a * B);
        }

        public double A { get { return a; } set { a = value; } }    //zmena promennych pomoci vlastnosti - funguje
        public double B { get; set; }                               //zkraceny zapis funkcni
    }
 
Odpovědět
26.3.2017 17:47
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 99.