![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 190 Pomógł: 27 Dołączył: 23.04.2005 Ostrzeżenie: (0%) ![]() ![]() |
Przykład z książki:
I teraz mam prosbę o wyjaśnienie 1. Wiadomo, że można tworzyć obiekt gdy definicja klasy występuje w kodzie po utworzeniu obiektu (nie ma konieczności napisania definicji funkcji przed jej wywołaniem). Czy nie wyraźniej (bardziej zrozumiale dla osoby, która przejmuje np. jakiś projekt) byłoby napisać te interfejsy w kolejności: Instrument, Musician, Band ? 2. W definicji interfejsów i klasy (które podałem wyżej) nie rozumię pewnej kwestii i prosiłbym osoby, które dobrze znają OOp o wytłumaczenie: Dlaczego w interfejsie Musician jest public function addInstrument (Instrument $instrument); a nie public function addInstrument ($instrument); ? Podobnie jest w klasie Guitarist - dlaczego zamiast public function addInstrument(Instrument $instrument) nie jest public function addInstrument(Instrument $instrument) ? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
1. Przyjęta kolejnośc to tylko i wyłącznie decyzja autorów. Ja też uważam że powinno być Instrument, Musician, Band
2. Taki zapis oznacza wymuszenie typu. public function addInstrument (Instrument $instrument); oznacza że parametr $instrument musi byc instancją klasy Instrument. Więcej: Podręcznik php :: Classes and Objects (php 5) :: Type Hinting |
|
|
![]() ![]() |
![]() |
Aktualny czas: 9.10.2025 - 15:41 |