Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Ako používať dedičnosť v Ruby

Dedičnosť je jadro objektovo orientovaného programovania . Trieda stavebných konštrukcií je menšie programy ľahko a veľké programy je to možné . V Ruby , dedičnosť sa používa na vytvorenie vzťahu medzi triedami , ktoré môžu byť použité v kóde . Keď jedna trieda je druh iné triedy , môžete použiť dedičnosť , aby " dieťa tried " . Napríklad , môžete mať triedu Shape . Výroba detských tried triedy Shape , ako je kruh alebo štvorec triedy , znamená metóda , ktorá berie tvar argumentu by tiež vziať kruh ako typ tvaru . Návod
použitie dedičnosti v Ruby foto 1

Začnite s bázou ( alebo " výborný " ) triedy . Nasledujúci príklad používa triedu s názvom Mikrovlnná rúra : trieda Microwavedef put_food_in ( potraviny ) @ jedla = foodenddef take_food_outfood = @ @ food food = nilreturn foodenddef turn_onputs " Mikrovlnná rúra je na " koniec def turn_off výstupy " Mikrovlnná rúra je vypnutá " endend
2

Napíšte dedičnú vyhlásenie triedy . To je rovnaké ako normálne vyhlásenie triedy , ale dodáva " trieda TimedMicrowave koniec
3

Pridať nové metódy do triedy . Trieda bude mať všetky metódy nadradenej triedy , ako . tiež nejaké ďalšie metódy , ktoré pridáte Môžete tiež pridať nové členské premenné a attr_ * prístupovej : trieda TimedMicrowave attr_reader : timerdef set_timer ( v sekundách ) @ timer = secondsend def clear_timer @ timer = 0endend
4

Prepísať metódy v nadradenej triede s novými metódami . Pretože v predchádzajúcom príklade časovač bol pridaný do mikrovlnnej rúry , metóda turn_on , ktorý bude automaticky zapnúť mikrovlnnú rúru vypnúť možno teraz realizovať . Jednoducho definovať metódu s rovnakým názvom ako metóda v nadradenej . keď sa to volá , bude táto metóda v podriadenej triede prepísať metódu z nadtřídy Tu akýkoľvek kód , ktorý očakáva , že vidieť Mikrovlnná objekt môžete použiť TimedMicrowave objektu : . trieda TimedMicrowave attr_reader : timerdef set_timer ( v sekundách ) @ timer = secondsenddef clear_timer @ timer = 0enddef turn_onwhile @ časovača > 0puts " Mikrovlnná rúra je zapnutá . # { @ } Časovač second ( s ) , zvyšné " @ časovačom - . = 1sleep 1end # Sme hotoví varenie , vypnite mikrovlnnú rúru offturn_offendend

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené