Személyes eszközök
Keresés

 

A InfoWiki wikiből


Kacsa + KoszaliSas

Definiáljunk egy 'Kacsa' osztályt az alábbi mezőkkel:

  • 'súly' (0..7 Kg, tört érték is lehet)
  • 'éhes' (0..10, skálaszerűen, 0=halálosan éhes .. 10=teljesen jóllakott)
  • 'szomjas' (0..10, skálaszerűen, 0=halálosan szomjas .. 10=teljesen teleitta magát)

Tartalmazza ezen kívül az alábbi metódusokat:

  • 'repul(km)' a kacsa elég gyengén repül, ezért 1 km repülés során 1 egység ételt használ el a szervezete. Így maximum 10 km repülésére képes, amennyiben teljesen jóllakott állapotról indul. Ezen metódus meghívása után, amennyiben a kacsa példány nem képes a megadott távolságra elrepülni, íródjon ki a képernyőre a "kacsa repülés közben éhen halt" szöveg, ellenkező esetben íródjon ki a "kacsa repült NN km-t", és frissítsük az éhségét megfelelően
  • 'uszik(km)' a kacsa elég jól úszik, ezért 3 km úszás során 1 egység ételt használ el. Úszni csak vízben lehet, ezért úszás során mindíg teleissza magát. Amennyiben azonban nem képes a megadott távolságot leúszni, úgy "a kacsa úszás közben éhen halt" szöveg, ellenkező esetben a "kacsa NN km-t úszott" szöveg íródjon ki, és frissítsük az éhség mezőt megfelelően.
  • 'eszik(egys)' a kacsa elé ennyi egység kukoricát szórunk ki, amelyből ő táplálkozik. Természetesen az 'éhség' skálája nem mehet 10 fölé, de a kacsa biztos ami biztos, addig eszik, amíg bír - és amíg a kukorica kitart. Írjuk ki hogy "a kacsa NN egység kukoricát evett meg, éhsége jelenlen MM".
  • 'iszik(egys)' a kacsa elé vizet töltünk ki, melyből ő iszik. Továbbiakban a működés legyen hasonló az 'eszik(..)'-éhez.
  • 'konstruktor', melyben megadhatjuk, hogy a frissen létrejött kacsa példányunk mennyire éhes, és mennyire szomjas.
// Negyzet
class Kacsa
{
 protected double _sulya;
 protected int _ehesSkala;
 protected int _szomjasSkala;
 
 public double sulya  { get{...} set{...} }
 public int ehseg     { get{...} set{...} }
 public int szomjusag { get{...} set{...} }
 
 public void repul(int km) {...}
 public void uszik(int km) {...}     
 public void eszik(int egyseg) {...}     
 public void iszik(int egyseg) {...}     
 
 public Kacsa(double suly, int ehes, int szomjas) {...}
}

Amennyiben a kacsa a repülés vagy úszás során elpusztulna, úgy továbbiakban nem eszik, nem iszik, nem repül, nem úszik, általában nem módosulnak a mezői. Ha egy elpusztult kacsa példánnyal ilyen sportolási tevékenységet próbálnánk végeztetni, úgy az okozzon futási hibát.

Fejlesszük tovább a kacsa osztály 'KoszaliSas' osztállyá, az alábbi módosítások figyelembe vételével:

  • a 'súly' 0..20 Kg lehet
  • 'repul(km)' 10 km repülés 1 egység étel
  • 'uszik(km)' a sas nem tud úszni, azonnal elpusztul ha ilyenre kérjük (megfullad)

Egyéb helyeken nincs módosítás a kacsához képest.

//  KoszaliSas
class KoszaliSas:Kacsa
{
 public double sulya  { get{...} set{...} }
 public void repul(int km) {...}
 public void uszik(int km) {...}     
 public KoszaliSas(double suly, int ehes, int szomjas) ...
}

Készítsünk olyan tesztprogramot, amely létrehoz egy kacsa példányt, és menüből választható módon irányíthassuk azt. Az evés, ivás, úszás, repülés paramétereit is minden esetben billentyűzetről kérjük be. Hasonló tesztprogramot készíthetünk a sas példányhoz is.

A lap eredeti címe: „http://wiki.ektf.hu/wiki/Mp4/page06
Nézetek
nincs sb_18.224.30.118 cikk