Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

NÁZEV ŠKOLY: Střední odborná škola Net Office, spol. s r.o., Orlová-Lutyně AUTOR: Ing. Adéla Tomalová NÁZEV: Podpora výuky v technických oborech TEMA:

Podobné prezentace


Prezentace na téma: "NÁZEV ŠKOLY: Střední odborná škola Net Office, spol. s r.o., Orlová-Lutyně AUTOR: Ing. Adéla Tomalová NÁZEV: Podpora výuky v technických oborech TEMA:"— Transkript prezentace:

1 NÁZEV ŠKOLY: Střední odborná škola Net Office, spol. s r.o., Orlová-Lutyně AUTOR: Ing. Adéla Tomalová NÁZEV: Podpora výuky v technických oborech TEMA: Objektově orientované programování v C# ČÍSLO PROJEKTU: CZ.1.07/1.5.00/34.0458

2 Cvičení 29 C# override Program určuje cenu pečivat podle druhu těsta a náplně koláčů. Obsahuje seznam používaných těst a náplní a jejich ceny za měrnou jednotku. public string nazev,testo; int inTesto; string[] jakeTesto = { "kynuté", "odpalované", "lístkové" }; double[] kcZaGram = { 0.60, 0.72, 0.84 }; public Pecivo(string nazev, int testo) { this.nazev = nazev; this.testo = jakeTesto[testo]; inTesto = testo; }

3 Cvičení 29 C# override Výpočet ceny je u neplněného pečiva dán váhou těsta a cenou za měrnou jednotku těsta. public virtual double setCena(double hmota) { double pom = hmota + kcZaGram[inTesto]; pom = Math.Round(pom, 1); return pom; } inTesto obsahuje index užitého těsta v obou konstantních polích. public virtual void info(double hmota) { Console.WriteLine("{0} z těsta: {1}, cena za kus: {2:f}", nazev, testo, setCena(hmota)); } Metoda info vypisuje informace o pečivu Obě metody jsou virtuální, aby se mohly používat v potomcích třídy se stejným názven a jiným kódem.

4 public Kolac(string nazev, int testo, int uvnitr) : base(nazev, testo) { napln = jakaNapln[uvnitr]; inNapln = uvnitr; } Cvičení 29 C# override Třída Kolac je potomkem třídy Pecivo. Obsahuje navíc konstantní pole se seznamem používaných náplní a cenou za jejich měrnou jednotku. class Kolac:Pecivo{ string[] jakaNapln = { "tvaroh", "mák", "povidla", "jablka" }; double[] kcZaNapln = { 0.82, 0.88, 0.78, 0.21 }; int inNapln; string napln; Konstruktor přidává k bázovému konstruktoru informaci o náplni.

5 public override void info(double hmota) { Console.WriteLine("koláč - {0} z těsta: {1}, cena za kus: {2:f}", napln, testo, setCena(hmota)); } Cvičení 29 C# override V metodě setCena se do metody rodiče přidá výpočet ceny náplně. public override double setCena(double hmota){ double pom = base.setCena(hmota); pom += kcZaNapln[inNapln]*hmota; pom = Math.Round(pom, 1); return pom; } V metodě info se přidají k rodičovským proměnným informace o náplni. Při výpočtu je použita metoda setCena třídy Kolac. Slovo virtual je nahrazeno slovem override.

6 Cvičení 29 C# override Hlavní program static void Main(string[] args) { Pecivo dalamanek = new Pecivo("dalamánek", 0); dalamanek.info(7.5); Kolac tvaroh = new Kolac("koláč", 2, 0); tvaroh.info(6.2); Console.ReadLine(); }

7 Anotance: přepisování metod. Předpokládaný čas: 35 minut Zpracovala: Ing. Adéla Tomalová Cílová skupina: žák SŠ Rok vytvoření: 2013 Předpokládaný přínos (výstup): rozšiřování a změna metod rodiče V textu nebyly použity materiály jiných autorů. Cvičení 29 C# override


Stáhnout ppt "NÁZEV ŠKOLY: Střední odborná škola Net Office, spol. s r.o., Orlová-Lutyně AUTOR: Ing. Adéla Tomalová NÁZEV: Podpora výuky v technických oborech TEMA:"

Podobné prezentace


Reklamy Google