Skip to content

Podstawy programowania obiektowego

Cezary Butler edited this page Dec 15, 2015 · 2 revisions

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.

High cohesion (wysoka specjalizacja)

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ą).

Loose coupling (luźne wiązanie)

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
Clone this wiki locally