Az objektum-orientált tervezés

Az előbbi részben láttuk, hogy egy valós feladatot erőből matematikai feladattá alakíthatunk, majd erőből meg is oldhatunk... azonban ez legalább annyira érdekes, mit szöszöket számolni egy törülközőn.

Amit láthatóan utálunk:

A dolog sokkal jobb lenne, ha nem programot akarnánk írni, hanem a feladat gép számára értelmezhető megfogalmazására fókuszálnánk. Mi több, ha először megterveznénk a programot!

Erről szól az Objektum-Orientált Tervezés, angolul Object-Oriented Design, OOD. Szóval vágjunk bele!

Kik a szereplők?

Egy autót szétszedve egyből megérted az azt alkotó részegységeket. Kezdjük szétszedni ezt a mostani problémát is! Szerepel benne:

Ezek lesznek a mi objektum-osztályaink, amiket meg kell írni.

Fontos, hogy tartsunk kellő távolságot! Nyilván Jane része a fülbevalója is, és Jack sem menne sehova a kedvenc motoros bőrdzsekije nélkül - de ezek a részegységek nem befolyásolják a feladatunkat, ezért ezekkel nem kell törődni. A kocsma csak az ivásról szól, elvégre is...

Milyen tulajdonságai vannak a szereplőknek?

Jacknak és Jane-nek a következő dolgokat kell tudnia:

A sörnek, bornak, pálinkának azt kell tudnia, hogy:

A kocsmának pedig azt kell tudnia, hogy:

Minden ilyen tulajdonságból egy változó, vagy konstans lesz.

Milyen műveleteket végeznek a szereplők?

Jacknak és Jane-nek a következőket kell csinálnia:

Hm, más dolog mást nem csinál. A sör nem szokott pizzát rendelni, és a kocsma sem szokott semmit csinálni a valóságban sem, ugye?

Minden ilyen műveletből egy metódus (függvény) lesz.

A szereplőkben vannak-e hasonlóságok?

Jack és Jane egyformán ember, csak épp más a nevük és az alkohol-tűrésük. A sör, bor, pálinka egyformán innivaló, csak épp más mennyiséget szolgálnak fel belőle, és más az alkohol-tartalmuk. A kocsma - na az itt semmi másra nem hasonlít.

A hasonló szereplők leírása lesz egy objektum-osztály (class).