Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 460 Pomógł: 49 Dołączył: 5.06.2011 Ostrzeżenie: (0%)
|
Kiedy klasy dziedziczące mają takie same metody, to lepiej by dziedziczyły te metody od klasy nadrzędnej, czy miały te metody "przykazane" przez interface i umieszczone w sobie? Takie 2 rozwiązania pokazuję poniżej. Które jest bardziej poprawne?
Z góry dziękuję |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 361 Pomógł: 22 Dołączył: 10.02.2015 Ostrzeżenie: (0%)
|
Tak moimi słowami, klasę abstrakcyjną czy interfejs piszę często po to, aby mieć pewność, że dany obiekt posiada implementację danej metody.
Przykładowo masz np. klasę abstrakcyjną Storage obsługującą zapisywanie danych, po której dziedziczą np. klasy Database, Session, File itp. Każda z nich musi mieć metodę odczytującą i zapisującą. Więc w klasie nadrzędnej Storage umieszczam dwie metody write i read. Potem gdy, inna klasa będzie musiała przyjąć obiekt danych, to w metodzie rzutuję I mam pewność że będę mógł odczytać i zapisać dane. Przykład taki z rękawa, może wiesz co mam na myśli. Ten post edytował Fred1485 12.12.2015, 15:42:37 |
|
|
|
trzczy Inheritance vs. interface dla takich samych metod. 12.12.2015, 13:32:56
droslaw W przykładzie, który podałeś klasy są identyczne d... 12.12.2015, 14:43:14 
trzczy Cytat(droslaw @ 12.12.2015, 14:43:14 ... 12.12.2015, 15:32:26
Comandeer Osobiście spotkałem się z podejściem, gdzie interf... 12.12.2015, 19:00:55
trzczy Dzięki za odpowiedzi. Dla mnie wynika z tego, że n... 12.12.2015, 22:37:35
Damonsson To nie jest kwestia żadnego wyboru. Do czego inneg... 13.12.2015, 00:36:28 
trzczy Damonsson, nie rozumiesz pytania. Chodzi o dublowa... 13.12.2015, 01:07:19
viking Ale Damansson dobrze Ci odpowiedział i według mnie... 13.12.2015, 10:42:44 
trzczy Cytat(viking @ 13.12.2015, 10:42:44 )... 13.12.2015, 18:42:16
Comandeer CytatW interface nie ma definicji metod. Są nazwy ... 13.12.2015, 18:53:29
Pyton_000 O jakim dublowaniu mówisz. Bo tutaj jedynie dublow... 13.12.2015, 19:08:52
droslaw trzczy, Damansson ma rację, w tutorialu żadne meto... 13.12.2015, 22:18:07
trzczy Cytat(Pyton_000 @ 13.12.2015, 19:08:5... 14.12.2015, 08:28:08
Pyton_000 Settery i gettery to nie problem. O ile nie mają s... 14.12.2015, 08:33:13
droslaw Cytat(trzczy @ 14.12.2015, 08:28:08 )... 14.12.2015, 12:16:07
Matrix12 W przykładzie gdzie implementujesz interfejs chodz... 15.12.2015, 08:00:27 
trzczy Jeszcze się gubię w tym branżowym słownictwie...
... 17.12.2015, 01:13:47
Pyton_000 Możesz nazwać jak chcesz np:
StorageInterface
Sto... 17.12.2015, 10:06:18 
trzczy Cytat(Pyton_000 @ 17.12.2015, 10:06:1... 17.12.2015, 12:35:52
Pyton_000 tak, tylko weź pod uwagę to że samego Interface ni... 17.12.2015, 12:37:16
viking Nie było przypadkiem w którymś PSR że interface ma... 17.12.2015, 12:50:28
Pyton_000 Było
https://github.com/php-fig/fig-standards/bl... 17.12.2015, 14:01:21 ![]() ![]() |
|
Aktualny czas: 27.12.2025 - 11:01 |