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

Используя абстрактный класс, мы можем усовершенствовать рассматривавшийся ранее классTwoDShape.Для неопределенной двухмерной фигуры понятие площади не имеет никакого смысла, поэтому в приведенном ниже варианте классаTwoDShapeметодArea и сам классTwoDShapeобъявляются какabstract.Это, конечно, означает, что во всех классах, производных от классаTwoDShape,должен быть переопределен методArea .

// Создать абстрактный класс, using System;

abstract class TwoDShape { double pri_width; double pri_height;

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

Width = Height =0.0; name = "null";

}

// Параметризированный конструктор.

public TwoDShape(double w, double h, string n) {

Width = w;

Height = h; name = n;

}

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

Width = Height = x; name = n;

}

// Сконструировать копию объекта TwoDShape. public TwoDShape(TwoDShape ob) {

Width = ob.Width;

Height = ob.Height; name = ob.name;

}

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

get {    return pri_width; }

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

}

public double Height {

get {    return pri_height; }

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

}

public string name { get; set; } public void ShowDimO {

Console.WriteLine("Ширина и высота равны " +

Width + " и " + Height);

}

// Теперь метод Area является абстрактным, public abstract double Area;

}

// Класс для треугольников, производный от класса TwoDShape. class Triangle : TwoDShape { string Style;

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

Style = "null";

}

// Конструктор для класса Triangle, public Triangle(string s, double w, double h) : base(w, h, "треугольник") {

Style = s;

I/Сконструировать равнобедренный треугольник, public Triangle(double x) : base(x, "треугольник") { Style = "равнобедренный";

}

// Сконструировать копию объекта типа Triangle, public Triangle(Triangle ob) : base(ob) {

Style = ob.Style;

}

// Переопределить метод Area для класса Triangle, public override double Area    {

return Width * Height / 2;

}

// Показать тип треугольника, public void ShowStyle    {

Console.WriteLine("Треугольник " + Style);

}

}

// Класс для прямоугольников, производный от класса TwoDShape class Rectangle : TwoDShape {

// Конструктор для класса Rectangle, public Rectangle(double w, double h) : base(w, h, "прямоугольник"){    }

// Сконструировать квадрат, public Rectangle(double x) : base (x, "прямоугольник")- { }

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

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

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

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

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

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

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

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

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