Advertisement
fcamuso

Untitled

Dec 13th, 2020
453
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.90 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3.  
  4. namespace OOP_ereditarietà2
  5. {
  6.   class Program
  7.   {
  8.     static void Main(string[] args)
  9.     {
  10.       //List<Conto> conti = new List<Conto>();
  11.       //conti.Add(new Conto());
  12.       //conti.Add(new ContoPrivilegiato());
  13.       //foreach (Conto item in conti) item.Preleva(0);
  14.  
  15.       //List<Madre> elementi = new List<Madre>();
  16.       //elementi.Add(new Madre());
  17.       //elementi.Add(new Figlia());
  18.  
  19.       //foreach (Madre item in elementi)
  20.       //{
  21.       //  item.EseguiMetodo(); // Stampa Madre 2 volte
  22.       //}
  23.  
  24.  
  25.       //Figlia figlia = new Figlia();
  26.       //figlia.Metodo(); // Stampa Figlia
  27.       //figlia.EseguiMetodo(); // ATTENZIONE! Stampa Madre
  28.  
  29.       List<Figura> figure = new List<Figura>();
  30.       figure.Add(new Figura());
  31.       figure.Add(new Cerchio());
  32.       figure.Add(new Quadrato());
  33.     }
  34.   }
  35.  
  36.   class Madre
  37.   {
  38.     public void EseguiMetodo()
  39.     {
  40.       Metodo();
  41.     }
  42.  
  43.     public virtual void Metodo()
  44.     {
  45.       Console.WriteLine("Metodo classe Madre");
  46.     }
  47.   }
  48.  
  49.   class Figlia : Madre
  50.   {
  51.     public override void Metodo()
  52.     {
  53.       Console.WriteLine("Metodo classe Figlia");
  54.     }
  55.   }
  56.  
  57.   class Figura
  58.   {
  59.     public virtual void Disegna() { }
  60.   }
  61.  
  62.   class Quadrato : Figura
  63.   {
  64.     public override void Disegna()
  65.     {
  66.       Console.WriteLine("Disegna Quadrato");
  67.     }
  68.   }
  69.  
  70.   class Cerchio : Figura
  71.   {
  72.     public double Raggio {get; set;} = 0;
  73.     public override void Disegna()
  74.     {
  75.       Console.WriteLine("Disegna Cerchio");
  76.     }
  77.  
  78.     public double crf() => 2 * Math.PI * Raggio;
  79.   }
  80.  
  81.   class Conto
  82.   {
  83.     public virtual void Preleva(decimal value)
  84.     {
  85.       Console.WriteLine("Metodo Preleva Madre");
  86.     }
  87.   }
  88.  
  89.   class ContoPrivilegiato : Conto
  90.   {
  91.     public override void Preleva(decimal value)
  92.     {
  93.       Console.WriteLine("Metodo Preleva Figlia");
  94.     }
  95.   }
  96. }
  97.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement