-
Notifications
You must be signed in to change notification settings - Fork 0
Podstawy programowania obiektowego
Temat powinien poruszyć dwie podstawowe zasady programowania obiektowego, tj high cohesion oraz loose coupling. Dobrze byłoby również pokazać jak wpływa to na wytworzony kod.
Mówi o tym że klasy powinny zajmować się tylko jednym aspektem problemu. Np. klasa kot będzie składała się z klas odpowiedzialnych za: chodzenie, oddychanie, miauczenie, zabawę, jedzenie, etc. (o ile oczywiście te aspekty nas interesują).
Klasy powinny komunikować się ze sobą przy pomocy dobrze zdefiniowanych interfejsów. To pozwala na łatwą zamianę dowolnego elementu na inny implementujący ten sam interfejs. n.p. wracając do klasy kot, każdy z aspektów mógłby mieć osobną implementację dzięki czemu, miewielkim nakładem sił będziemy mogli stworzyć całą armię kotów zachowujących się w różny sposób.
Obok w.w. zasad można również wspomnieć o narzędziach programowania obiektowego, t.j.:
- klasy i interfejsy
- abstrakcja
- dziedziczenia
- polimorfizm