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

7.7 Полiморфiзм namespace ConsoleApplication7 { public class Figure { // поля класса // виртуальный метод для переопределения public virtual void Draw() { Console.WriteLine("Фигура"); } } class Circle : Figure { public override void Draw() { // печать название фигуры base.Draw(); Console.WriteLine("Круг"); } } class Rectangle : Figure { public override void Draw() { // печать название фигуры base.Draw(); Console.WriteLine("Прямоугольник"); } } class Triangle : Figure { public override void Draw() { // печать название фигуры base.Draw(); Console.WriteLine("Треугольник"); } } class Program { static void Main(string[] args) { List
shapes = new List
(); shapes.Add(new Rectangle()); shapes.Add(new Triangle()); shapes.Add(new Circle()); foreach (Figure s in shapes) { s.Draw(); } Console.ReadKey(); } 137