using System; abstract class Figura { private int centar_X, centar_Y; private string ime_figure; private string boja_figure; public Figura(string i, int x, int y, string b) { centar_X = x; centar_Y = y; ime_figure = i; boja_figure = b; } public string Ime() { return ime_figure; } public void PomeriZa(int dx, int dy) { centar_X += dx; centar_Y += dy; } public virtual void Ispisi() { Console.WriteLine("Objekat: {0}", ime_figure); Console.WriteLine(" centar: ({0}, {1})", centar_X, centar_Y); Console.WriteLine(" boja: {0}", boja_figure); } public abstract double Povrsina(); } class Krug : Figura { private int r_kruga; public Krug(string i, int x, int y, string b, int r) : base(i, x, y, b) { r_kruga = r; } public override void Ispisi() { base.Ispisi(); Console.WriteLine(" poluprecnik: {0}", r_kruga); } public override double Povrsina() { return r_kruga * r_kruga * Math.PI; } } class Pravougaonik : Figura { private int duzina, sirina; public Pravougaonik(string i, int x, int y, string b, int d, int s) : base(i, x, y, b) { duzina = d; sirina = s; } public override void Ispisi() { base.Ispisi(); Console.WriteLine(" dimenzije: {0} x {1}", duzina, sirina); } public override double Povrsina() { return duzina * sirina; } } class Kvadrat : Pravougaonik { public Kvadrat(string i, int x, int y, string b, int a) : base(i, x, y, b, a, a) { } } class GlavniProgram { static void Main() { Figura[] F = new Figura[3]; F[0] = new Krug("Krug 1", 10, 15, "plava", 100); F[1] = new Pravougaonik("Pravougaonik 1", 27, 39, "zelena", 35, 45); F[2] = new Kvadrat("Kvadrat 1", 0, 0, "crvena", 30); for(int i = 0; i < 3; i++) { Console.WriteLine("Povrsina figure {0} je {1}", F[i].Ime(), F[i].Povrsina()); } } }