Основы объектно-ориентированного программирования на языке 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