ПКРПСиБД LAB2 Захаров А.Е. (548476), страница 2
Текст из файла (страница 2)
interface IDelegate
{
double sum(double a, double b);
}
class GoodStudent : IDelegate
{
public double sum(double a, double b) { return a + b; }
}
class BadStudent : IDelegate
{
public double sum(double a, double b)
{
Random rand = new Random();
return rand.Next(5, 10);
}
}
class Delegate : IDelegate
{
IDelegate student = new GoodStudent();
public double sum(double a, double b)
{
return student.sum(a, b);
}
public void setStudent(IDelegate s)
{
student = s;
}
}
class Program
{
static void Main(string[] args)
{
Delegate teacher = new Delegate();
Console.WriteLine("Хороший студент: 2 + 2 = " + teacher.sum(2, 2));
teacher.setStudent(new BadStudent());
Console.WriteLine("Плохой студент: 2 + 2 = " + teacher.sum(2, 2));
Console.ReadLine();
}
}
}
UML-диаграммы
Литература
-
Приёмы объектно-ориентированного проектирования. Паттерны проектирования. – СПб.: Питер, 2011. – 368 с.: ил.
-
PHP: объекты, шаблоны и методики программирования. 3-е изд.: Пер. с англ. – М. : ООО «И.Д. Вильямс», 2011. – 560 с. : ил. – Парал. тит. англ.