![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 324 Pomógł: 105 Dołączył: 7.08.2012 Ostrzeżenie: (0%) ![]() ![]() |
Witam. Zaczynam raczkować w OOP, i natrafiłem na taką wątpliwość.
Czy mógłbym prosić o prostą wykładnię, które podejście jest bardziej "prawidłowe" dla poniższego przykładu (o ile którekolwiek jest prawidłowe (IMG:style_emoticons/default/wink.gif) )? Chodzi mi o to, czy dla zasady konstruktor powinien być możliwie jak najmniej skomplikowany i dalsze zadania na atrybutach powinno się wykonywać w osobnych metodach, czy nic nie stoi na przeszkodzie, by już w konstruktorze wykonywać działania? Co lepsze? Ta klasa: czy może ta klasa: Proszę nie zwracać uwagi na bezsensowny przykład, możliwy do rozwiązania w 1 linijce w sposób proceduralny. No chyba, że za pomocą klasy ten problem powinien być rozwiązany w kompletnie inny sposób. Wynik końcowy ma za zadanie zwrócić 'ok', albo 'coś nie gra', w zależności od parametru początkowego przy tworzeniu obiektu klasy A.
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 142 Pomógł: 9 Dołączył: 3.03.2011 Ostrzeżenie: (0%) ![]() ![]() |
Chodzi mi o to, czy dla zasady konstruktor powinien być możliwie jak najmniej skomplikowany i dalsze zadania na atrybutach powinno się wykonywać w osobnych metodach, czy nic nie stoi na przeszkodzie, by już w konstruktorze wykonywać działania? Tak, ale bez fanatyzmu - a ilu programistów tyle podejść. Raczej lepszy jest przykład drugi - bo przecież i tak musisz mieć metody, żeby odczytać/zapisać informacje w polach obiektu, więc lepiej się do nich odwołać (do tych metod) niż drugi raz pisać w konstruktorze to samo. Z kolei konstruktor to świetne miejsce, żeby ustalić wartość stałych obiektu, bo nie będzie i tak metod do ich zapisu, a jedynie do odczytania (w końcu po co tworzyć metodę, która będzie wywołana jeden raz z konstruktora). |
|
|
![]() ![]() |
![]() |
Aktualny czas: 7.10.2025 - 03:18 |