Доступ к членам класса и наследование


При самостоятельном желании понять тему " Доступ к членам класса и наследование " вам поможет наш ресурс. Для вас наши специалисты подготовили материал, изучив который вы будете разбираться в ней уровне профессионала. А если у вас останутся вопросы, то задать их вы сможете прямо на сайте написав в чат онлайн-консультанта.

оформить заявку

Слишком сложно? Тогда запросите консультацию специалиста!

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

ознакомиться с условиями

Краткое пояснение: Доступ к членам класса и наследование

Если сделать закрытыми переменные класса TwoDShape, они станут недоступными в классе Triangle, как показано ниже.

// Доступ к закрытым членам класса не наследуется.

// Этот пример кода не подлежит компиляции.

using System;

// Класс для двумерных объектов.

class TwoDShape

{

double Width; // теперь это закрытая переменная

double Height; // теперь это закрытая переменная

public void ShowDim()

{

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

}

}

// Класс Triangle, производный от класса TwoDShape.

class Triangle : TwoDShape

{

public string Style; // тип треугольника

// Возвратить площадь треугольника.

public double Area()

{

return Width * Height / 2; // Ошибка, доступ к закрытому члену класса запрещен

}

// Показать тип треугольника.

public void ShowStyle()

{

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

}

}

На первый взгляд, ограничение на доступ к частным членам базового класса из производного класса кажется трудно преодолимым, поскольку оно не дает во многих случаях возможности пользоваться частными членами этого класса. Но на самом деле это не так. Для преодоления данного ограничения в C# предусмотрены разные способы. Один из них состоит в использовании защищенных (protected) членов класса, рассматриваемых в следующем разделе, а второй — в применении открытых свойств для доступа к закрытым данным.

Как пояснялось в предыдущей главе, свойство позволяет управлять доступом к переменной экземпляра. Например, с помощью свойства можно ввести ограничения на доступ к значению переменной или же сделать ее доступной только для чтения. Так, если сделать свойство открытым, но объявить его базовую переменную закрытой, то этим свойством можно будет воспользоваться в производном классе, но нельзя будет получить непосредственный доступ к его базовой закрытой переменной.

//использовать открытые свойства для установки и получения значений закрытых членов класса.

using System;

//класс для двумерных обьектов.

class TwoDShape

{

double pri_width; //теперь это закрытая переменна.

double pri_heigth;//теперь это закрытая переменная.

//свойства ширины и высоты двумерного обьекта.

public double Width

{

get { return pri_width; }

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

}

public double Heigth

{

get { return pri_heigth; }

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

}

public void ShowDim()

{

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

}

}

//класс для треугольников, производный от класса TowDShape.




class Triangle : TwoDShape

{

public string Style;//тип треугольника

// Возвратить площадь треугольника.

public double Area()

{

return Width * Heigth / 2;

}

//показать тим треугольника.

public void ShowStyle()

{

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

}

}

class Shapes2

{

static void Main()

{

Triangle t1 = new Triangle();

Triangle t2 = new Triangle();

t1.Width = 4.0;

t1.Heigth = 4.0;

t1.Style = "равнобедренный";

t2.Width = 8.0;

t2.Heigth = 12.0;

t2.Style = "прямоугольный";

Console.WriteLine("Сведения об обьекте t1: ");

t1.ShowStyle();

t1.ShowDim();

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

Console.WriteLine();

Console.WriteLine("Сведения об обьекте t2: ");

t2.ShowStyle();

t2.ShowDim();

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

}

}

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


Конечно, для полного рассмотрения вопроса 'Доступ к членам класса и наследование', приведенной информации не достаточно, однако чтобы понять основы, её должно хватить. Если вы изучаете эту тему, с целью выполнения задания заданного преподавателем, вы можете обратится за консультацией в нашу компанию. В нашей команде работает большой состав специалистов, которые разбираются в изучаемом вами вопросе на экспертном уровне.

Хм, так же просматривали

Заказ

ФОРМА ЗАКАЗА

Бесплатная консультация

Наша компания занимается написанием студенческих работ. Мы выполняем: дипломные, курсовые, контрольные, задачи, рефераты, диссертации, отчеты по практике, решаем тесты и задачи, и многие другие виды заданий. Чтобы узнать стоимость, а так же условия выполнения работы заполните заявку на этой странице. Как только менеджер увидит ваше сообщение, он сразу же свяжется с вами.

Этапность

СОПРОВОЖДЕНИЕ КЛИЕНТА

Получить работу можно всего за 4 шага

01
Оставляете запрос

Оформляете заказ работы, заполняя форму на сайте.

02
Узнаете стоимость

Менеджер оценивает сложность. Узнаете точную цену.

03
Работа пишется

Оплачиваете и автор приступает к выполнению задания.

04
Забираете заказ

Получаете работу в электронном виде на вашу почту.

Услуги

НАШ СЕРВИС

Что мы еще делаем?

icon
Рефераты

от 580 рублей

ПОДРОБНЕЕ
icon
Лабораторные работы

от 630 рублей

ПОДРОБНЕЕ
icon
Проектные работы

от 3300 рублей

ПОДРОБНЕЕ
icon
НИР (научно-исследовательские работы)

от 3300 рублей

ПОДРОБНЕЕ
icon
Монографии

от 1400 рублей

ПОДРОБНЕЕ
icon
Работы для духовной семинарии

от 980 рублей

ПОДРОБНЕЕ