Герберт Шилдт - C# 4.0 - полное руководство

Здесь есть возможность читать онлайн «Герберт Шилдт - C# 4.0 - полное руководство» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Город: Москва -- Киев, Год выпуска: 2011, ISBN: 2011, Издательство: ООО И.Д. Вильямс, Жанр: Программирование, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

C# 4.0: полное руководство: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «C# 4.0: полное руководство»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

В этом полном руководстве по C# 4.0 - языку программирования, разработанному специально для среды .NET, - детально рассмотрены все основные средства языка: типы данных, операторы, управляющие операторы, классы, интерфейсы, методы, делегаты, индексаторы, события, указатели, обобщения, коллекции, основные библиотеки классов, средства многопоточного программирования и директивы препроцессора. Подробно описаны новые возможности C#, в том числе PLINQ, библиотека TPL, динамический тип данных, а также именованные и необязательные аргументы. Это справочное пособие снабжено массой полезных советов авторитетного автора и сотнями примеров программ с комментариями, благодаря которым они становятся понятными любому читателю независимо от уровня его подготовки.
Книга рассчитана на широкий круг читателей, интересующихся программированием на C#.Введите сюда краткую аннотацию

C# 4.0: полное руководство — читать онлайн бесплатно полную книгу (весь текст) целиком

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «C# 4.0: полное руководство», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Используя абстрактный класс, мы можем усовершенствовать рассматривавшийся ранее класс 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 x, 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 ShowDim() {

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;

}

// Сконструировать равнобедренный треугольник,

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, "прямоугольник") { }

// Сконструировать копию объекта типа Rectangle,

public Rectangle(Rectangle ob) : base(ob) { }

// Возвратить логическое значение true, если

// прямоугольник окажется квадратом,

public bool IsSquare() {

if(Width == Height) return true;

return false;

}

// Переопределить метод Area() для класса Rectangle,

public override double Area() {

return Width * Height;

}

}

class AbsShape {

static void Main() {

TwoDShape[] shapes = new TwoDShape[4];

shapes[0] = new Triangle("прямоугольный", 8.0, 12.0);

shapes[1] = new Rectangle(10) ;

shapes[2] = new Rectangle(10, 4);

shapes[3] = new Triangle(7.0);

for(int i=0; i < shapes.Length; i++) {

Console.WriteLine("Объект — " + shapes[i].name);

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «C# 4.0: полное руководство»

Представляем Вашему вниманию похожие книги на «C# 4.0: полное руководство» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Отзывы о книге «C# 4.0: полное руководство»

Обсуждение, отзывы о книге «C# 4.0: полное руководство» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.