• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Klasa Prostokat - lewy gorny i prawy dolny rog

Object Storage Arubacloud
0 głosów
410 wizyt
pytanie zadane 23 sierpnia 2018 w C# przez MS Początkujący (430 p.)

Witam,

treść zadania jest następująca : Napisz klasę prostokąt przechowującą jedynie współrzędne lewego górnego i prawego dolnego rogu . Dodaj metody podające współrzędne każdego rogu.

Coś tam napisałem, wszystko fajnie, ale wciąż mam wątpliwości. Proszę o sprawdzenie poprawności kodu.

class Prostokat
    {
        int x1 = 1, x2 = 2, y1 = 3, y2 =4;

        int PobierzX1()
        {
            return x1;
        }
        int PobierzX2()
        {
            return x2;
        }
        int PobierzY1()
        {
            return y1;
        }
        int PobierzY2()
        {
            return y2;
        }

        void WyswietlWspolrzedne()
        {
            Console.WriteLine("Wspolrzedne lewgo gornego rogu wynosza : " + x1 + y1);
            Console.WriteLine("Wspolrzedne prawego dolnego rogu wynosza : " + x2 + y2);
        }
        public static void Main(string[] args)
        {
            Prostokat x = new Prostokat();
            Prostokat y = new Prostokat();
            int wspX1 = x.PobierzX1();
            int wspX2 = x.PobierzX2();
            int wspY1 = y.PobierzY1();
            int wspY2 = y.PobierzY2();
            Console.WriteLine("Wspolrzedne rogow wynosza : \nlewgo gornego "+ wspX1 + "," + wspY1 +
                              "\nprawego dolnego : " +wspX2 + "," + wspY2 +
                              "\nprawego gornego  : " + wspX2 + "," + wspY1 +
                              "\nlewego dolnego : " + wspX1 + "," + wspY2);

 

komentarz 23 sierpnia 2018 przez NowyUrzydgownig Mądrala (5,090 p.)
Na twoim miejscu stworzyłbym strukturę Wspolrzedne i tam przetrzymywal wspolrzedne x,y. Zamiast metod PobierzXi uzywalbym wlasciwosci(properties) i zwracal obiekt Wspolrzedne.
komentarz 23 sierpnia 2018 przez MS Początkujący (430 p.)
Dzięki, ale kod jest napisany poprawnie?
komentarz 23 sierpnia 2018 przez NowyUrzydgownig Mądrala (5,090 p.)
Nie wiem co rozumiesz, przez slowo poprawnie. Jezeli to, ze kod dziala to tak. Jezeli to czy jest napisany dobrze, to nie. Zamiast funkcji WyswieltWspolrzedne mozesz przeciazyc metode ToString(). Skoro udostepniasz funkcje odpowiadajace za odczyt wspolrzednych, to nie powinienes udostepniac tych wspolrzednych. Powinienes oznaczyc je jako private.(domyslnie sa oznaczone jako internal)
komentarz 23 sierpnia 2018 przez MS Początkujący (430 p.)
Przeciążanie metod w następnym rozdziale :D

1 odpowiedź

0 głosów
odpowiedź 23 sierpnia 2018 przez DrajzleR Obywatel (1,380 p.)
Na początek powinnieneś zmienić modyfikatory dostępu dla metod Pobierz(). Żadnej z nich nie będziesz w stanie użyć ze względu na ich poziom bezpieczeństwa (public). Jak w komentarzu kolega zauważył jednak wydaje mi się że źle Ci podpowiedział. Zmienne możesz zostawić tak jak teraz ponieważ domyślny modyfikator dostępu jest prywatny.

Druga uwaga: Jeśli koniecznie chcesz uniknąć przeciążania metod w tym kodzie to możesz usunąć metodę void WyswietlWspolrzedne(). Aktualnie nigdzie jej nie wykorzystujesz. Jeśli chcesz ją wykorzystać trzeba zmienić także jej modyfikator dostępu.
Po poprawkach tych błędów kod powinnien odpalić.
komentarz 24 sierpnia 2018 przez NowyUrzydgownig Mądrala (5,090 p.)
Domyślny modyfikator dostępu to internal, a nie private. Dostęp do metod i zmiennych ma ten sam i jest on dostępny w obrębie tego samego projektu.
komentarz 24 sierpnia 2018 przez DrajzleR Obywatel (1,380 p.)
komentarz 24 sierpnia 2018 przez NowyUrzydgownig Mądrala (5,090 p.)
Rzeczywiście, domyślnie są private.

Podobne pytania

0 głosów
1 odpowiedź 99 wizyt
pytanie zadane 18 grudnia 2016 w C i C++ przez Kamila1999 Nowicjusz (140 p.)
0 głosów
2 odpowiedzi 2,068 wizyt
0 głosów
1 odpowiedź 299 wizyt
pytanie zadane 21 października 2019 w C# przez JakSky Stary wyjadacz (14,770 p.)

92,570 zapytań

141,422 odpowiedzi

319,643 komentarzy

61,958 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...