Основы объектно-ориентированного программирования на языке C# book | Page 156

7 Класи } class Circle : Ifigure //реалiзацiя iнтерфейсу { double r = 2.7; public void Draw() //реалiзацiя iнтерфейсу { Console.Writeline("Circle, r={0}", r); } public void Perimeter() //реалiзацiя iнтерфейсу { Console.Writeline("L= {0}", 2*3.14*r); } } public void Area() //реалiзацiя iнтерфейсу { Console.Writeline("S={0}", 3.14*r*r); } public void Area() { Console.Writeline("a*b"); } } Тепер нам залишилося тiльки створити список фiгур i перебрати ı̈х усiх для розв’язання задачi. Приведемо реалiзацiю всiєı̈ програми. using System; using System.Collections.Generic; namespace Interface { interface Ifigure // оголошення iнтерфейсу { void Draw(); void Perimeter(); void Area(); } class Rectangle : Ifigure //спадкування iнтерфейсу { double a = 4.8; double b = 3.7; public void Draw() //неявна реалiзацiя iнтерфейсу { Console.WriteLine("Rectangle, a={0}, b={1}", a, b); } public void Perimeter() // неявна реалiзацiя iнтерфейсу { Console.WriteLine("L={0}", 2 * a + 2 * b); } public void Area() // неявна реалiзацiя iнтерфейсу { Console.WriteLine("S={0}", a * b / 2); } } class Circle : Ifigure //спадкування iнтерфейсу { 156