Przykłady OOP czasem mnie rozbrajają
class Predator extends Animal
{
public function bite($animal)
{
if ($animal->isSmall())
$animal->kill();
}
}
Dobre też było, gdy prezentując wzorzec Dekoratora, człowiek "udekorował" klasę Samochód do klasy Pożarniczy (przez co dostępna była metoda wysunDrabine()), a Motor do Policyjny (przez co dostępna była metoda wlaczKoguta()). A ciekawe co by było gdyby Motor zmodyfikować dodając drabinę? :-)
Pomysłowość w prezentowaniu analogii klas i obiektów do rzeczywistości nie zna granic :-)
24 listopada 2006 18:10:11
Programowanie to dla mnie czarna magia... Jak już opanowałem strukturalne PHP w zakresie mi potrzebnym, to mi wyskoczyli na informie z Javą i pełną obiektówką... programowanie, blah :)
Ale takie "życiowe" przykłady bardzo przemawiają do Ciebie :)
24 listopada 2006 20:49:18
Widziałem klasy Pracownik i Menedzer (extends Pracownik). Tylko jak zaimplementować metodę Awans?
Pozdrawiam
24 listopada 2006 21:39:29
Użytkownik: Zależy od języka. Np. w Pythonie można zmienić klasę obiektu (jest parę ograniczeń, ale w przypadku awansu nie powinny one przeszkadzać), więc problemu nie ma.
24 listopada 2006 21:42:21
To była Java
25 listopada 2006 00:21:45
Uzytkownik: takie klasy:
Kadra: awansuj(Pracownik $pracownik), wywal(Pracownik $pracownik);
abstract Pracownik;
Menedzer extends Pracownik;
Szef extends Pracownik;
Ha! :) Przykład dla PHP, ale Java jest przecie podobna.
25 listopada 2006 00:23:10
Nie prościej zrobić klasę Pracownik i Stanowisko?
25 listopada 2006 13:23:18
To już zależy, jak będziesz potem chciał to wykorzystać... Możliwości wiele. ;)