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