![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 602 Pomógł: 30 Dołączył: 1.08.2007 Skąd: Nowy Sącz Ostrzeżenie: (0%) ![]() ![]() |
Witam, mam nadzieje, że to forum będzie trwało tyle co PHP, tyle mi już pomogło, że hej. Przejdę do sedna sprawy czyli do interfejsów.
Jak mi wiadomo, że można było dziedziczyć tylko z jednej Klasy(Króla) ale co mi to da, że wprowadzę interfejs, jeśli i tak w klasach niższych(Mieszczanach) będę musiał powtórzyć kod funkcji? W królu będe musiał dać funkcje
Jeśli w Mieszczanie będe musiał dać taki sam kod? Czy dobrze zrozumiałem? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 304 Pomógł: 51 Dołączył: 4.02.2005 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Interfejsy służą do tego, aby wymusić na danej hierarchi klas zdefiniowanie określonych metod. Po to się to stosuje, aby ustalić "protokół", sposób "porozumiewania się", czy też korzystania z tych klas. Załóżmy, że nad projektem pracuje kilku programistów, jeśli zdefiniuje się interfejsy to nie ważne co będzie w klasie implementującej jakiś tam interfejs, bo wiadome że w interfejsie są określone wymagane metody publiczne, z których to korzystamy z danej klasy. Programista wtedy wie, że trzeba dane metody, które służą do korzystania z obiektów danej klasy, zaimplementować, przez co jest zunifikowany dostęp do klas należącej do tej samej gałęzi hierarchi (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Przeanalizuj przykład Cysiaczka. Można dopisać takie coś:
Dzięki temu zapewniamy to, że klasa "Man" i "Woman" mają metody "sayGoodMorningTo", więc w metodzie CommunityMambers::sayGoodMorning() nie wyskoczy błąd, że dany obiekt nie posiada metody "sayGoodMorningTo". |
|
|
![]() ![]() |
![]() |
Aktualny czas: 17.10.2025 - 21:36 |