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 – 2. diel - Prvá objektová aplikácia v C# - Hello object world

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
KubaP
Člen
Avatar
Odpovedá na Kit
KubaP:30.12.2013 16:49

Jo tak. Díky za upřesnění - už se v tom začínám orientovat mnohem lépe!

Avatar
Odpovedá na Kit
Michal Žůrek - misaz:30.12.2013 19:19

nyní však neví co ten while dělá dal by tam funkci SpocitejVysledky() tak by věděl co to i dělá.

Avatar
Kit
Tvůrce
Avatar
Odpovedá na Michal Žůrek - misaz
Kit:30.12.2013 19:33

Vím, kam míříš, ale na refaktorování je tam toho víc.

Odpovedať
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
KubaP
Člen
Avatar
Odpovedá na Kit
KubaP:30.12.2013 21:02

Počkejte, tak teď jsem trošku zmaten:-) Je mé řešení tedy správné? Nebo spíš, objektově správné? Proč dávat funkci SpocitejVysledky()? A vím co je while:-)

Avatar
Kit
Tvůrce
Avatar
Odpovedá na KubaP
Kit:30.12.2013 22:09

Pokud se někde píše o refaktorování, tak to znamená, že program je správně. Jen je vhodné ho přepsat do nějaké přehlednější a robustnější podoby při zachování funkčnosti.

Odpovedať
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Odpovedá na KubaP
Neaktivní uživatel:30.12.2013 22:11

Zjednodušeně -> na první pohled není jasné, co while dělá. Jakmile jeho obsah přesuneš do metody SpocitejVysledky, tak koukneš a vidíš. A bude se to snáze upravovat.

Odpovedať
Neaktivní uživatelský účet
Avatar
KubaP
Člen
Avatar
Odpovedá na Neaktivní uživatel
KubaP:31.12.2013 8:29

Čili nějak takhle?

třída Kalkulator

class Kalkulator
{
    public double cislo1;
    public double cislo2;
    public string pokracovat;

    public string SpocitejVysledky()
    {
        return pokracovat;
    }
    public double Soucet()
    {
        return cislo1 + cislo2;
    }
    public double Soucin()
    {
        return cislo1 * cislo2;
    }
    public double Rozdil()
    {
        return cislo1 - cislo2;
    }
    public double Podil()
    {
        return cislo1 / cislo2;
    }
}

statická metoda Main

static void Main(string[] args)
{
    Kalkulator kalkulacka = new Kalkulator();
    kalkulacka.pokracovat = "ano";

    while (kalkulacka.pokracovat == "ano")
    {
        Console.Write("Zadej prvni cislo: ");
        double a = double.Parse(Console.ReadLine());
        Console.Write("Zadej druhe cislo jo: ");
        double b = double.Parse(Console.ReadLine());

        kalkulacka.cislo1 = a;
        kalkulacka.cislo2 = b;

        Console.WriteLine("Soucet: {0}", kalkulacka.Soucet());
        Console.WriteLine("Soucin: {0}", kalkulacka.Soucin());
        Console.WriteLine("Rozdil: {0}", kalkulacka.Rozdil());
        Console.WriteLine("Podil: {0}", kalkulacka.Podil());

        Console.WriteLine("\nPrejete si pokracovat? ano/ne");
        kalkulacka.pokracovat = Console.ReadLine().ToLower();
    }
}
Avatar
KubaP
Člen
Avatar
Odpovedá na Kit
KubaP:31.12.2013 8:36

Trošku jsem tedy refaktoroval:-)

Avatar
MrPabloz
Člen
Avatar
Odpovedá na KubaP
MrPabloz:31.12.2013 9:02

I když děláš tak jednoduchou věc jako je kalkulačka nezapomeň ošetřit to, že nelze dělit nulou:)

Odpovedať
Harmonie těla a duše, to je to, oč se snažím! :)
Avatar
Kit
Tvůrce
Avatar
Odpovedá na KubaP
Kit:31.12.2013 9:07

Skutečně jen trošku a zrovna tam, kde to vůbec nebylo potřebné.

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 218.