• 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

0 głosów
643 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ź 122 wizyt
pytanie zadane 18 grudnia 2016 w C i C++ przez Kamila1999 Nowicjusz (140 p.)
0 głosów
2 odpowiedzi 2,453 wizyt
0 głosów
1 odpowiedź 449 wizyt
pytanie zadane 21 października 2019 w C# przez JakSky Stary wyjadacz (14,770 p.)

93,427 zapytań

142,422 odpowiedzi

322,650 komentarzy

62,787 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

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
...