![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 1.04.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Tworzę sobie stronę WWW. Mam w niej możliwość komentowania konkretnego artykułu jak i wpisanie się do księgi gości. Najlepiej od razu krótka piłka. To jest dobre:
czy może jednak:
Który jest dobry i dlaczego? A może to w ogóle zły przykład? Z góry dziękuję za odpowiedź! |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 108 Pomógł: 26 Dołączył: 29.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
Ja bym wpis do księgi zrobił tak:
P.S. Jak Ci się takie coś podoba to zajrzyj na stronę Propela Ten post edytował Xniver 13.03.2008, 22:55:45 |
|
|
![]()
Post
#3
|
|
![]() Grupa: Moderatorzy Postów: 4 465 Pomógł: 137 Dołączył: 26.03.2004 Skąd: Gorzów Wlkp. ![]() |
@Staszek27 - W tym wypadku lepszy jest interfejs. Abstrakcja od biedy też może być, ale po co marnować możliwość dziedziczenia? inna sprawa, jeśli w tej klasie chcesz zawrzeć jakieś wspólne metody - abstrakcja pasuje wówczas lepiej. Z trzeciej strony, jeśli nawet abstrakcja pasuje lepiej, to czy byłoby uzasadnione umieszczenie w niej takich abstrakcyjnych metod?
Kompromis:
Oczywiście wszystko zależy od potrzeb. Pozdrawiam. -------------------- To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness; chaotic, confused, vulnerability, to inform yourself. Think for yourself. Question authority. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 1.04.2007 Ostrzeżenie: (0%) ![]() ![]() |
Dziękuję za odpowiedź. Po prostu nie mogę załapać różnicy pomiędzy interfejsem a klasą abstrakcyjną. Może kiedyś mnie oświeci. :-)
Pozdrawiam! |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 441 Pomógł: 71 Dołączył: 3.09.2007 Skąd: wrocław Ostrzeżenie: (0%) ![]() ![]() |
Interfej stosujesz jeśli chcesz mieć pewność że pewne klasy będą zawierać jakieś wspólne metody, ale metody te we wszystkich klasach implementujących ten interfejs są inaczej zaimplementowane. Z kolei klasę abstrakcyjną stosujesz jeśli pewne klasy mają zawierać wspólne metody, ale niektóre z tych metod są tak samo zaimplementowane we wszystkich klasach, czyli implementujesz je w klasie abstrakcyjnej, i w klasach dziedziczących już nie musisz jej implementować.
W sumie nie wiem czy dobrze rozumuje, może niech jeszcze się wypowiedzą mądrzejsci ![]() -------------------- |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 1 116 Pomógł: 119 Dołączył: 10.05.2005 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Interfej stosujesz jeśli chcesz mieć pewność że pewne klasy będą zawierać jakieś wspólne metody, ale metody te we wszystkich klasach implementujących ten interfejs są inaczej zaimplementowane. Z kolei klasę abstrakcyjną stosujesz jeśli pewne klasy mają zawierać wspólne metody, ale niektóre z tych metod są tak samo zaimplementowane we wszystkich klasach, czyli implementujesz je w klasie abstrakcyjnej, i w klasach dziedziczących już nie musisz jej implementować. dobrze prawisz, generalizując można powiedzieć tak: klasa abstrakcyjna: zawiera metody, które już mogą być w niej zaimplementowane, przez co nie trzeba ich implementować w klasie pochodnej (dziedziczącej po klasie abstrakcyjnej), można korzystać już z implementacji w klasie abstrakcyjnej. interfejs: NIE ZAWIERA ŻADNYCH IMPLEMENTACJI METOD, jedynie mówi jakie metody MUSI mieć klasa go implementująca. W sumie nie wiem czy dobrze rozumuje, może niech jeszcze się wypowiedzą mądrzejsci ![]() żeby nie było... za mądrzejszego się nie uważam ![]() Pozdrawiam |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 1.04.2007 Ostrzeżenie: (0%) ![]() ![]() |
Dziękuję za odpowiedzi! Ponoć
Cytat ten naprawdę rozumie, kto rozróżnia . :-)
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 06:44 |