Diskuze: OOP

C# .NET .NET (C# a Visual Basic) OOP American English version English version

Avatar
Jurajs
Člen
Avatar
Jurajs:

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):

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
Nesnáším {}, proto se jim vyhýbám.
Avatar
Petr Nymsa
Redaktor
Avatar
Odpovídá na Jurajs
Petr Nymsa:

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.