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: 144 Pomógł: 0 Dołączył: 22.03.2015 Ostrzeżenie: (0%)
|
W przykładzie gdzie implementujesz interfejs chodzi o to, że w interfejsie masz określone jakie metody musza być implementowane w danym obiekcie. W Twoim przykładzie pokazałeś dwa obiekty implementujące ten interfejs, a te obiekty są różne to że one zawierają te metody to nie oznacza że są identyczne, bo poniżej mogą zawierać inne metody które coś tam robią. Interfejs określa Ci czego potrzebujesz aby stworzyć dany obiekt który np. będzie wstrzykiwany do innej metody lub obiektu i wtedy będziesz miał wpisane na przykład tak :
public function example(TwojInterfejs $service){ .. } |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 460 Pomógł: 49 Dołączył: 5.06.2011 Ostrzeżenie: (0%)
|
Jeszcze się gubię w tym branżowym słownictwie...
public function example(TwojInterfejs $service){ .. } TwojInterfejs to jest type hinting i jednocześnie nazwa wymaganej klasy? Słowa 'Interfejs' używacie w znaczeniu 'interface', czyli słowa kluczowego php czy może w znaczeniu API? Sorka pewnie kaleczę zwyczajowy żargon. (IMG:style_emoticons/default/sciana.gif) Ten post edytował trzczy 17.12.2015, 01:15:17 |
|
|
|
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
Fred1485 Tak moimi słowami, klasę abstrakcyjną czy interfej... 12.12.2015, 15:41:38
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
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: 28.12.2025 - 16:03 |