using System; namespace AbstraktseKlassiUuring { abstract class Kujund { public abstract double KysiPohjaPindala(); public abstract double KysiKorgus(); public abstract double KysiPohjaYmbermoot(); public double KysiRuumala() { return KysiPohjaPindala() * KysiKorgus(); } public double KysiKyljePindala() { return KysiPohjaYmbermoot() * KysiKorgus(); } } class Tikutops : Kujund { public override double KysiPohjaPindala() { return 8; } public override double KysiKorgus() { return 1.5; } public override double KysiPohjaYmbermoot() { return 12;} } class Vorstijupp : Kujund { int pikkus, raadius; public Vorstijupp(int upikkus, int uraadius) { pikkus = upikkus; raadius = uraadius; } public override double KysiPohjaPindala() { return Math.PI * raadius * raadius; } public override double KysiKorgus() { return pikkus; } public override double KysiPohjaYmbermoot() { return 2 * Math.PI * raadius; } } class Risttahukas : Kujund { double pikkus, laius, korgus; public Risttahukas(double pikkus, double laius, double korgus) { this.pikkus = pikkus; this.laius = laius; this.korgus = korgus; } public override double KysiPohjaPindala() { return pikkus * laius; } public override double KysiKorgus() { return korgus; } public override double KysiPohjaYmbermoot() { return pikkus + pikkus + laius + laius; } } class Test { public static double PindaladeSumma(Kujund[] kd) { double abi = 0; foreach (Kujund k in kd) { abi += k.KysiKyljePindala() + 2 * k.KysiPohjaPindala(); } return abi; } public static double RuumaladeSumma(Kujund[] kd) { double abi=0; foreach (Kujund k in kd) { abi += k.KysiRuumala(); //abi=abi+k.KysiRuumala() } return abi; } public static void Main(string[] arg) { Tikutops t = new Tikutops(); Vorstijupp v = new Vorstijupp(10, 3); Console.WriteLine("Ruumalad {0} ja {1}", t.KysiRuumala(), v.KysiRuumala()); Console.WriteLine("Kyljepindalad {0} ja {1}", t.KysiKyljePindala(), v.KysiKyljePindala()); Risttahukas r = new Risttahukas(5, 4, 3); Console.WriteLine("Risttahuka andmed: {0} {1} ", r.KysiKyljePindala(), r.KysiRuumala()); Kujund[] kujundid = {t, v, r }; Console.WriteLine("Ruumalade summa " + RuumaladeSumma(kujundid)); Console.WriteLine("Pindalade summa " + PindaladeSumma(kujundid)); } } }