Главная страница Библиотека (скачать книги) Скачать софт Введение в программирование Стандарты для C++ Уроки по C# Уроки по Python HTML Веб-дизайн Ассемблер в среде Windows ActiveX Javascript Общее о Линукс Линукс - подробно Линукс - новое Delphi Паскаль для начинающих Турбопаскаль Новости Партнеры Наши предложения Архив новостей |
Абстрактный класс.
Предположим в базовом классе для какого-то наследуемого метода трудно придумать осмысленное наполнение. Например, вы реализуете иерархию геометрических фигур, и есть некоторый родительский класс Figure в котором определен метод Draw. using System; abstract class Figure{ // Абстрактный класс public Figure(string n){ name=n; } private string name; public abstract void Draw(); // Абстрактный метод public void ShowName(){ Console.WriteLine(name); } } class Rectangle:Figure{ int width; int height; public Rectangle(int height,int width):base("Прямоугольник"){ this.width = width; this.height = height; } public override void Draw(){ // реализация абстрактного метода for(int i=0;i<height;i++){ for(int j=0;j<width;j++){ Console.Write("*"); } Console.WriteLine(); } } } class Sample { static void Main() { try{ Rectangle rect = new Rectangle(3,8); rect.ShowName(); rect.Draw(); } catch(Exception e){ Console.WriteLine(e.Message); } Console.Read(); } } |
|
Библиотека программиста. 2009. |
|