![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 651 Pomógł: 28 Dołączył: 4.12.2004 Ostrzeżenie: (0%) ![]() ![]() |
hej, próbuję okiełznać częściowo php5 (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) i mam takie pytanie:
Czy da się w jakiś sposób implementować interfejs w danej klasie, ale tak, aby w tej klasie były wymagane tylko konkretne metody, które zawiera interfejs i żeby nie była wymuszana konkretna ilość argumentów dla tych metod? Wiadomo, że interfejsy wymagają utworzenia w klasie konkretnych metod z konkretną ilością parametrów. Ja chciałbym natomiast mieć taki interfejs, który będzie wymagał tylko tego, żeby w klasie znajdowały się metody o konkretnych nazwach, ale w różnych implementacjach będą one miały różną liczbę argumentów. Da się coś takiego zrobić? Po prostu mam kilka klas, które mają takie same schematy nazewnictwa metod, ale czasami w niektórych metodach jest potrzeba podania większej ilości argumentów niż w innych klasach. Można to oczywiście uwzględnić w interfejsie i dodać parametry do wszystkich metod, ale wtedy te dodane parametry będą w niektórych miejscach w ogóle niewykorzystywane... |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 338 Pomógł: 2 Dołączył: 4.03.2006 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
O widze MVC (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Ktos kiedys mądrze zauważym na naszym forum, ze model nie powinien implementowac czegokolwiek. Pozniej padlo zdanie, ze model to chyba najtrudniejsza czesc MVC. Zgadzam sie z pierwszym stwierdzeniem. Dlaczego? Bo tylko ty wiesz jak uzywac modelu, nie aplikacja. Dwa modele (np GaleriaZdjec i Nowosci) moga byc tak rozne i zawierac tak rozne metody, ze interfejs jest tu absolutnie niepotrzebny. Co innego taka sytuacja:
Masz dwa takie same modele, ale operujace na roznych zrodlach danych. Wtedy moznaby uzyc interfejsu, ale ja pozostaje przy stwierdzeniu, ze nadal nie ma to sensu (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) RADA: model nie implementuje niczego. RADA2: mozesz dla ulatwienia dziedziczcy po jakims prostym modelu otwierajacym Ci dostep do zrodla danych:
Pozdrawiam, Adrian. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 4.10.2025 - 22:28 |