Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> interfejs a skladowe
kicaj
post
Post #1





Grupa: Zarejestrowani
Postów: 1 640
Pomógł: 28
Dołączył: 13.02.2003
Skąd: Międzyrzecz/Poznań

Ostrzeżenie: (0%)
-----


Projektujac klase implementujaca interfejs musi ona zawierac metody takie jak w interfejsie.
Czy jest taka mozliwosc abym wymusil na klasie zdefiniowanie zmiennej skladowej?

Dokladnie chodzi mi o to abym w kazdej klasie ktora implementuje interfejs byla zdefioniowana stala:
  1. <?php
  2. interface jakisInterface
  3. {
  4. const STALA;
  5.  
  6. function jakasMetoda();
  7. }
  8.  
  9. class jakisController implements jakisInterface
  10. {
  11. const STALA = 'wartosc';
  12.  
  13. function jakasMetoda()
  14. {
  15. // ...
  16. }
  17. }
  18. ?>

Jest to mozliwe?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Ludvik
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 698
Pomógł: 3
Dołączył: 28.03.2004
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Cytat
Dlaczego bezsensu? Jezeli w interfejsie wymuszamy istnienie metod, to dlaczego nie mozemy wymusic skladowych (tutaj akurat stalej). Interfejs jest jak "szablon" wymaga na klasie implementujacej danych metod (a ja chcialbym miec stala wymuszona w klasach implementujacych)

Nie wiem, czy porównanie interfejsu do szablonu jest zbyt dobrym pomysłem. Interfejs określa operacje, które możesz wykonywać na obiekcie implementującym go. Składowe nie mają nic wspólnego z interfejsem obiektu - raczej określają jego stan. Stałe to już kompletnie inna bajka. Stała jest stałą, reprezentuje coś, co się nie zmienia. Cechy obiektów powinny być zwracane przez odpowiednie akcesory.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 4.10.2025 - 17:20