Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- namespace OOP_ereditarietà2
- {
- class Program
- {
- static void Main(string[] args)
- {
- //List<Conto> conti = new List<Conto>();
- //conti.Add(new Conto());
- //conti.Add(new ContoPrivilegiato());
- //foreach (Conto item in conti) item.Preleva(0);
- //List<Madre> elementi = new List<Madre>();
- //elementi.Add(new Madre());
- //elementi.Add(new Figlia());
- //foreach (Madre item in elementi)
- //{
- // item.EseguiMetodo(); // Stampa Madre 2 volte
- //}
- //Figlia figlia = new Figlia();
- //figlia.Metodo(); // Stampa Figlia
- //figlia.EseguiMetodo(); // ATTENZIONE! Stampa Madre
- List<Figura> figure = new List<Figura>();
- figure.Add(new Figura());
- figure.Add(new Cerchio());
- figure.Add(new Quadrato());
- }
- }
- class Madre
- {
- public void EseguiMetodo()
- {
- Metodo();
- }
- public virtual void Metodo()
- {
- Console.WriteLine("Metodo classe Madre");
- }
- }
- class Figlia : Madre
- {
- public override void Metodo()
- {
- Console.WriteLine("Metodo classe Figlia");
- }
- }
- class Figura
- {
- public virtual void Disegna() { }
- }
- class Quadrato : Figura
- {
- public override void Disegna()
- {
- Console.WriteLine("Disegna Quadrato");
- }
- }
- class Cerchio : Figura
- {
- public double Raggio {get; set;} = 0;
- public override void Disegna()
- {
- Console.WriteLine("Disegna Cerchio");
- }
- public double crf() => 2 * Math.PI * Raggio;
- }
- class Conto
- {
- public virtual void Preleva(decimal value)
- {
- Console.WriteLine("Metodo Preleva Madre");
- }
- }
- class ContoPrivilegiato : Conto
- {
- public override void Preleva(decimal value)
- {
- Console.WriteLine("Metodo Preleva Figlia");
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement