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 2 - První objektová aplikace v C# - Hello object world

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
lcet.m
Člen
Avatar
lcet.m:14.1.2013 13:28

To je rozdil i na tvoji urovni, to se neboj :)

 
Odpovědět
14.1.2013 13:28
Avatar
jirkakopacek
Člen
Avatar
jirkakopacek:23.9.2013 15:08

Zdravím, neposkytl byste někdo kod, jak má vypadat předělaná konzolová kalkukačka do objektů? Děkuju

 
Odpovědět
23.9.2013 15:08
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na jirkakopacek
David Hartinger:23.9.2013 16:35

Budeš mít třídu Kalkulacka, ta bude mít metody rozdil(), podil(), soucet(), soucin(). V program.cs si udělá instanci a budeš volat tyto metody. Metody buď můžou mít parametry nebo dáš obě čísla jako atributy kalkulačky.

Odpovědět
23.9.2013 16:35
New kid back on the block with a R.I.P
Avatar
jirkakopacek
Člen
Avatar
jirkakopacek:23.9.2013 19:04

Děkuju, takhle jsem to udělal, jen jsem měl trošičku problém s tou volbou operace a switch cyklem, kam ho dát a měl jsem tam i nějaké chyby v syntaxi

 
Odpovědět
23.9.2013 19:04
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na jirkakopacek
David Hartinger:28.9.2013 11:24

U OOP záleží na návrhu, vždy je několik řešení a většinou i několik správných řešení. Volbu operace můžeš nechat v program.cs, jelikož se týka komunikace s uživatelem, ale ne přímo počítání. Objekty se většinou píší tak, aby nebyly závislé na vstupu od uživatele.

Odpovědět
28.9.2013 11:24
New kid back on the block with a R.I.P
Avatar
Osel
Člen
Avatar
Osel:29.9.2013 15:54
Zdravic zdravic;
zdravic = new Zdravic();

Chápu vytvoření třídy, ale mohl by mi někdo lajcky vysvětlit jak to funguje v main těle. Když tam mam teda dát tu třídu? Proč je tu psáno Zdravic zdravic? Proč ení prostě jen Zdravic, kterej odkáže na tu třídu a nazdar? :D

Díky

 
Odpovědět
29.9.2013 15:54
Avatar
Jan Vargovský
Tvůrce
Avatar
Odpovídá na Osel
Jan Vargovský:29.9.2013 16:02

Jednoduše potřebuješ si vytvořit instanci na ten daný objekt (tady objekt/třída Zdravic), abys s ní mohl pracovat. Abys chápal instancování, tak si představ že máš třídu, která reprezentuje matematický objekt (třeba čtverec) a teď si vytvoříš:

Square blueSquare = new Square(Color.Blue);
Square greenSquare = new Square(Color.Green);

A každý ten objekt má jiné vlastnosti. Jednou si vytvoříš modrý a pak zelený čtverec.

 
Odpovědět
29.9.2013 16:02
Avatar
baloga.lubo
Člen
Avatar
baloga.lubo:17.11.2013 21:04

nazdar. super tutorialy !!! Ďakujem veľmi pekne.
ešte pre zaujimavosť a nenaročnosť vypyta si meno použivatela

string meno;
Zdravic zdravic = new Zdravic();
zdravic.text = "Ahoj uživateli";
meno = Console.ReadLine();
Console.WriteLine(zdravic.Pozdrav(meno));
zdravic.text = "Vítám tě tu programátore";
Console.WriteLine(zdravic.Pozdrav(meno));
Console.ReadKey();
 
Odpovědět
17.11.2013 21:04
Avatar
phoer
Člen
Avatar
phoer:20.11.2013 21:52

Co by jste řekli na můj kod u kalkulačky.

Class Calculator

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Calculator
    {
        public string pokracovat;
        public float a;
        public float b;


        public void secist()
        {
            Console.WriteLine("Součet: {0}",a + b);
        }
        public void odecist()
        {
            Console.WriteLine("Rozdíl: {0}", a - b);
        }
        public void vydelit()
        {
            Console.WriteLine("Podíl: {0}", a / b);
        }
        public void vynasobit()
        {
            Console.WriteLine("Součin: {0}", a * b);
        }

    }
}

Program¨

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Calculator calculator = new Calculator();
            calculator.pokracovat = "ano";
            while (calculator.pokracovat == "ano")
            {
                Console.Write("Zadejte první číslo: ");
                calculator.a = float.Parse(Console.ReadLine());
                Console.Write("Zadejte druhý číslo: ");
                calculator.b = float.Parse(Console.ReadLine());
                calculator.secist();
                calculator.odecist();
                calculator.vydelit();
                calculator.vynasobit();
                Console.WriteLine("Přejete si pokračovát? [ano/ne]");
                calculator.pokracovat = Console.ReadLine();
            }
        }
    }
}
Odpovědět
20.11.2013 21:52
„Co slyším, to zapomenu. Co vidím, si pamatuji. Co si vyzkouším, tomu rozumím.“ - Konfucius
Avatar
Jan Vargovský
Tvůrce
Avatar
Odpovídá na phoer
Jan Vargovský:20.11.2013 21:53

Jestli jsi viděl jenom tento díl, tak to jde. Pokud ne, tak je to bída. Každopádně pokračuj a zdokonaluj se :)

Jinak takové věci, co hned bijí do očí a měl by jsi ovládat od začátku. Konvence C# radí, aby vše co bylo public se psalo pomocí CamelCase (např. VynasobDveCisla, CisloJedna apod.)

Editováno 20.11.2013 21:54
 
Odpovědět
20.11.2013 21:53
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 217.