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

// Здесь скрывается метод Show из класса А. Обратите // внимание на применение ключевого слова new. new public void Show {

base.Show ; // здесь вызывается метод Show из класса А

// далее выводится член i из класса В

Console.WriteLine("Член i в производном классе: " + i);

}

}

class UncoverName { static void Main {

В ob = new В (1, 2); ob.Show ;

}

}

Выполнение этого кода приводит к следующему результату.

Член i в базовом классе: 1 Член i в производном классе: 2

Как видите, в выраженииbase. Show вызывается вариант методаShow из базового класса.

Обратите также внимание на следующее: ключевое слово new используется в приведенном выше коде с целью сообщить компилятору о том, что методShow, вновь объявляемый в производном классеВ,намеренно скрывает другой методShow ,определенный в базовом классеА.

Создание многоуровневой иерархии классов

В представленных до сих пор примерах программ использовались простые иерархии классов, состоявшие только из базового и производного классов. Но в C# мож

но также строить иерархии, состоящие из любого числа уровней наследования. Как упоминалось выше, многоуровневая иерархия идеально подходит для использования одного производного класса в качестве базового для другого производного класса. Так, если имеются хри класса,А, ВиС,то классСможет наследовать от классаВ,а тот, в свою очередь, от классаА.В таком случае каждый производный класс наследует характерные особенности всех своих базовых классов. В частности, классСнаследует все члены классовВиА.

Для того чтобы показать, насколько полезной может оказаться многоуровневая иерархия классов, рассмотрим следующий пример программы. В ней производный классTriangleслужит в качестве базового для создания другого производного класса —ColorTriangle.При этом классColorTriangleнаследует все характерные особенности, а по существу, члены классовTriangleиTwoDShape,к которым добавляется полеcolor,содержащее цвет треугольника.

// Пример построения многоуровневой иерархии классов.

using System;

class TwoDShape { double pri_width; double pri_height;

// Конструктор, используемый по умолчанию, public TwoDShape    {

Width = Height = 0.0;

}

// Конструктор для класса TwoDShape. public TwoDShape(double w, double h) {

Width = w;

Height = h;

}

// Сконструировать объект равной ширины и высоты, public TwoDShape(double х) {

Width = Height = x;

}

// Свойства ширины и высоты объекта, public double Width {

get {    return pri_width; }

set {    pri_width = value < 0 ? -value :    value; }

}

public double Height {

get {    return pri_height; }

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

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

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных