Pouze tento týden sleva až 80 % na e-learning týkající se C# .NET. Zároveň využij akci až 30 % zdarma při nákupu e-learningu - Více informací.
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í.
discount week 30
Avatar
Jurajs
Člen
Avatar
Jurajs:6.2.2014 18:41

Prosím o zhodnocení mého OOP v C#...co zlepšit, na co si dát pozor atd, šak to znáte...Je to hokus pokus...zkouším :)

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

namespace ConsoleApplication1
{
    class Banka
    {
        public string uzivatel = "Jiri";
        public int cislouctu = 755145;
        public int suma = 250000;



        public Banka(string uzivatel, int cislouctu, int suma)
        {
            this.uzivatel = uzivatel;
            this.cislouctu = cislouctu;
            this.suma = suma;
        }
        public int VyberCastku()
        {
            return suma;

        }
        public void Insolvent()
        {
            int insolvent = 250000;

            if (insolvent > 0)
            {

                Console.WriteLine("Máte na učtě dostatek peněz");

            }
            else
                Console.WriteLine("Bankrot!!! Smůla :(");



        }

        public void Vyber()
        {
            Console.WriteLine("Vyber castky z Bankomatu");
            Console.WriteLine("Vyber: Uzivatel:{0}, č.učtu:{1}, Suma:{2}Kč", uzivatel, cislouctu, suma);

            int Vybercastky = 250000;
            int vysledek;
            vysledek = suma - Vybercastky;

            Console.WriteLine("Celková částka po vybrání {0}Kč", vysledek);
            Console.WriteLine("Dnešní výběr byl: {0}Kč", Vybercastky);
        }

    }
}

Program.cs

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

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Banka banka = new Banka("Jiri", 755145, 250000);
            banka.Vyber();
            banka.Insolvent();
            Console.ReadKey();



        }
    }
}
 
Odpovědět
6.2.2014 18:41
Avatar
Michal Žůrek - misaz:6.2.2014 18:46

Třídu bych pojmenoval Klient, metoda Vyber by měla částku přijímat v parametru a měla by být univerzální, nepoužívat konzoli. Konzoli obsluhuj pouze v Main.

 
Nahoru Odpovědět
6.2.2014 18:46
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
Petr Nymsa
Tvůrce
Avatar
Odpovídá na Jurajs
Petr Nymsa:6.2.2014 19:04

Je to celé nesmysl. Když už zkoušíš tak pořádněji.

1)Třída by se měla jmenovat spíše BankovníÚčet - přeci jen patří to jednomu uživateli
2)Datovým položkám přiřazuj hodnoty pouze skrze Konstruktor
3)Měl by jsi místo public "X" používat Vlastnosti
4)Metoda VyberCastku() by měla přijímat parametr částka a vracet vybranou sumu. A zároveň odečíst sumu z celkových peněz.
5)Metoda Insolvent je k čemu ?
6)Metoda Vyber() je nesmyslná a zbytečná

  1. Přidej metody typu KolikZbyva(), VlozitCastku() apod.

    ->I když KolikZbyva by šlo přes Vlastnosti

8)Ve třídě Banka (resp. BankovniUcet) nesmí být žádný výstup, slouží pouze jako zdroj dat. Takto tuto třídu nemůžeš poté využít ve Formech, či jinde. Tj o výpis se stará Main, případně nějaké speciální třída určená pro výpis

9)Můžeš pak mít třídu Banka, která bude mít List<BankovniUcet> a tím pádem spravovat X různých účtů najednou

TIP na konec: Zvykni si spíše psát kód v AJ, v praxi je to běžnější.

Nahoru Odpovědět
6.2.2014 19:04
Pokrok nezastavíš, neusni a jdi s ním vpřed
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 3 zpráv z 3.