Читаем C# 4.0 полное руководство - 2011 полностью

Console.WriteLine("Площадь равна " + t2.Area);

}

}

При выполнении этой программы получается следующий результат.

Сведения об объекте tl:

Треугольник равнобедренный Ширина и высота равны 4 и 4 Площадь равна 8

Сведения об объекте t2:

Треугольник прямоугольный Ширина и высота равны 8 и 12 Площадь равна 48

В классеTriangleсоздается особый тип объекта классаTwoDShape(в данном случае — треугольник). Кроме того, в классTriangleвходят все члены классаTwoDShape,к которым, в частности, добавляются методыArea иShowStyle. Так, описание типа треугольника сохраняется в переменнойStyle,методArea рассчитывает и возвращает площадь треугольника, а методShowStyle отображает тип треугольника.

Обратите внимание на синтаксис, используемый в классеTriangleдля наследования классаTwoDShape.

class Triangle : TwoDShape {

Этот синтаксис может быть обобщен. Всякий раз, когда один класс наследует от другого, после имени базового класса указывается имя производного класса, отделяемое двоеточием. В C# синтаксис наследования класса удивительно прост и удобен в использовании.

В классTriangleвходят все члены его базового классаTwoDShape,и поэтому в нем переменныеWidthиHeightдоступны для методаArea. Кроме того, объектыtlиt2в методеMain могут обращаться непосредственно к переменнымWidthиHeight,как будто они являются членами классаTriangle.На рис. 11.1 схематически показано, каким образом классTwoDShapeвводится в классTriangle.

Рис. 11.1. Схематическое представление класса Triangle

Несмотря на то что классTwoDShapeявляется базовым для классаTriangle,в то же время он представляет собой совершенно независимый и самодостаточный класс. Если класс служит базовым для производного класса, то это совсем не означает, что он не может быть использован самостоятельно. Например, следующий фрагмент кода считается вполне допустимым.

TwoDShape shape = new TwoDShape ; shape.Width = 10; shape.Height = 20;

shape.ShowDim;

Разумеется, объект классаTwoDShapeникак не связан с любым из классов, производных от классаTwoDShape,и вообще не имеет к ним доступа.

Ниже приведена общая форма объявления класса, наследующего от базового класса.

classимя_производного_класса : имя_базового_класса{

// тело класса

}

Перейти на страницу:

Похожие книги

Access 2002: Самоучитель
Access 2002: Самоучитель

В книге рассматривается широкий круг вопросов, связанных с использованием программной среды Access 2002, которая является составной частью пакета Office 2002 и предназначена для создания банка данных в самых различных предметных областях.Подробно описывается методика проектирования объектов базы данных (таблицы, формы, отчеты, страницы доступа к данным, запросы, модули).Детально обсуждаются вопросы создания интегрированной базы данных в единой среде Access 2002: формирование БД с нуля, конвертирование в программную среду баз данных, созданных в ином программном окружении – Clarion, FoxPro.Особое внимание уделяется формированию разнообразных запросов к интегрированной базе данных Access 2002 с использованием языков программирования SQL, VBA и макросов.Приводятся общие сведения о возможностях языка обмена данными между различными компьютерами и приложениями (XML). Описываются возможности использования гиперссылок, связывающих базу данных с другими программными продуктами. Объясняется, как можно работать с базой данных Access 2002 без установки ее на компьютер, используя технологию ODBC (Open Data Base Connectivity). В приложениях приводятся количественные параметры Access 2002 и связанная с этой СУБД терминология.Предлагаемая книга будет полезна специалистам, занимающимся практической разработкой банков данных и приложений на их основе, а также студентам вузов, изучающим информатику.

Павел Юрьевич Дубнов

Программирование, программы, базы данных / ОС и Сети / Книги по IT