Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 122 Pomógł: 0 Dołączył: 23.01.2006 Ostrzeżenie: (0%)
|
Witam,
Nigdzie nie moge doczytac jaka jest praktyczna roznica miedzy interfejsem i klasa abstrakcyjna. Teorie znam, interfejs definiuje nagłowki metod danej klasy, klasa abstrakcyjna ma wieksze mozliwosci, moze ponadto definiowac zawartosc metody. Chodzi mi jednak jak to sie sprawdza w praktyce, kiedy zastosowac interfejs a kiedy klase abstrakcyjna, po co tak naprawde mam w ogole definiowac "ogolny zarys" klasy w interfejsie czy klsaie abstrakcyjnej? Pozdrawiam |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 1 660 Pomógł: 13 Dołączył: 9.06.2004 Skąd: Wrocław i okolice Ostrzeżenie: (0%)
|
Dam Ci definicję i przykład. Poprę się tym samym ksiązką "php 5 Nowe Możliwości"
1. Interfejsy Przy pomocy interfejsów masz możliwość wymuszenia na klasach, aby posiadały niezbędne do współpracy z innymi elementami metody. Np. piszesz sklep i kążdy produkt musi mieć nazwę, cenę i numer identyfikacyjny. Robisz sobie interfejs:
We wnętrzu interfejsu definiuje się prototypy metod. teraz każda klasa, która będzie implementowała ten interfejs musi posiadać podane metody. Np. klasa Book:
Jeśli klasa nie będzie posiadała wszystkich metod wymieniony w interfejscie php wygeneruje błąd krytyczny. 2. Klasy abstrakcyjne Klasy te mają to do siebie, że nie można stworzyć ich kopii. Np. robisz sobie klasę Ziemia.
Nie mogą istnieć dwie Ziemie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
|
Vomit Roznica miedzy interfejsem i klasa abstrakcyjna 16.07.2006, 09:34:08
nasty_psycho Interfejs sie najbardziej sprawdza kedy ty piszesz... 16.07.2006, 09:42:31
Vomit TomASS, ale widze ze to sie sprawdza tylko wtedy k... 16.07.2006, 09:56:40
Ludvik Programowanie to zazwyczaj praca grupowa, dlatego ... 16.07.2006, 10:01:48
Prph Nie koniecznie dla innego programisty. Piszac duza... 16.07.2006, 10:21:53
splatch Interfejsy uwalniają nas w pełni od jakiejkolwiek ... 16.07.2006, 18:05:17
Strzałek TamASS ładnie wytłumaczył.
Warto dodać jeszcze jed... 16.07.2006, 18:23:18
bela_666 Cytat(TomASS @ 16.07.2006, 10:50 ) 2. Kla... 16.07.2006, 18:27:22
TomASS CytatNie kopii, a obiektów.
Kopii
CytatDwa obiek... 16.07.2006, 20:31:37
bela_666 Cytat(TomASS @ 16.07.2006, 21:31 ) [PHP] ... 16.07.2006, 20:48:20
TomASS Skoro tak mówisz Poddaję się i przyznaję, że masz... 16.07.2006, 21:28:03
Strzałek CytatSkoro tak mówisz smilingsmiley.gif Poddaję si... 17.07.2006, 20:55:31
envp Hm, roznica wydaje sie byc nieznaczaca, ale jednak... 18.07.2006, 21:42:17
athabus Mi wydaję się, że różnica jest bardzo duża Ostat... 19.07.2006, 12:51:24 ![]() ![]() |
|
Aktualny czas: 29.06.2026 - 04:17 |