Студопедия

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника



Советы по использованию уровня доступа

Читайте также:
  1. II. Подъем исторического уровня
  2. II. Подъем исторического уровня.
  3. S:Какой элемент интерфейса Excel 2007 называют «Панель быстрого доступа»?
  4. VV Подготовка к использованию DreamLink’а
  5. Будут упрощены правила доступа иностранных компаний на российский страховой рынок
  6. Вариативный подход к использованию мотиваторов
  7. Взаимозависимость и соотношение следующих факторов: уровня образования, состояния опьянения, поведения потерпевшего 1 страница
  8. Взаимозависимость и соотношение следующих факторов: уровня образования, состояния опьянения, поведения потерпевшего 2 страница
  9. Взаимозависимость и соотношение следующих факторов: уровня образования, состояния опьянения, поведения потерпевшего 3 страница
  10. Взаимозависимость и соотношение следующих факторов: уровня образования, состояния опьянения, поведения потерпевшего 4 страница

Обычно область доступа полей класса делают закрытой (private), т.е. доступ к ним разрешается только методам того же класса. Чтобы предоставить пользователям класса значения его полей, используются свойства: они позволяют классу контролировать изменение его полей, например проверять принадлежность заданного значения диапазону допустимых значений.

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

Примеры использования:

/// <summary>

/// Класс комплексного числа

/// </summary>

class Complex

{

/// <summary>

/// Целая часть числа

/// </summary>

private double re;

/// <summary>

/// Мнимая часть числа

/// </summary>

private double im;

/// <summary>

/// Конструктор с инициализацией

/// </summary>

public Complex(double i_re, double i_im)

{

re = i_re;

im = i_im;

}

/// <summary>

/// Целая часть числа

/// </summary>

public double RE

{

get

{

return re;

}

set

{

re = value;

}

}

/// <summary>

/// Мнимая часть числа

/// </summary>

public double IM

{

get

{

return im;

}

set

{

im = value;

}

}

}

Пример работы с классом:

Complex complex1 = new Complex(1, 1);

 

Complex complex2 = new Complex();

complex2.IM = 2;

complex2.RE = 2;

 

complex1.RE = complex2.RE;

 

«Паблик Морозов»

Паблик Морозов — в объектно-ориентированном программировании шуточное название класса-потомка, который обеспечивает открытый доступ к закрытым полям класса-предка. Наличие объектов типа «Паблик Морозов» говорит об избыточно закрытой конструкции библиотеки — или даже об инверсии абстракции в ней.

Это название — каламбур, основанный на созвучии ключевого слова public (паблик), часто означающего открытый доступ к методам и полям класса, и имени пионера-героя Павлика Морозова, известного тем, что он выдал своего отца-кулака.



Абстрактный метод

Если в процессе проектирования необходимо для родительского класса указать метод, который будет реализован в классах – потомках, но его реализация в родительском классе не нужна, то он объявляется как абстрактный. Другими словами: абстрактный метод не имеет реализации при объявлении.

Пример объявления абстрактного метода:

public class Parent

{

public abstract float Calculate(float parValue);

}

 


Дата добавления: 2015-09-15; просмотров: 11; Нарушение авторских прав


<== предыдущая лекция | следующая лекция ==>
Области доступа | Диаграммы классов
lektsii.com - Лекции.Ком - 2014-2019 год. (0.013 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты