Лекции.Орг


Поиск:




Категории:

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

 

 

 

 


Пространство имен.System.Collections




Пространство имен — это просто способ организации типов (классов, перечислений, интерфейсов, делегатов и структур) в единую группу. System. Collections - Для работы с контейнерными объектами, такими как ArrayList, Queue, SortedUst.

Класс ArrayList

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

 

34. Принципы ООП в С#. Наследование

 

35. Принципы ООП в С#. Полиморфизм

Полиморфизм — возможность с помощью одного имени обозначать операции из различных классов (но относящихся к общему суперклассу). Вызов обслуживания по полиморфному имени приводит к исполнению одной из некоторого набора операций.

 

 

36. Принцыпы ООП в C#. Инкапусаляция.

Целью инкапсуляции является обеспечение согласованности внутреннего состояния объекта. В C# для инкапсуляции используются публичные свойства и методы объекта. Переменные, за редким исключением, не должны быть публично доступными. Проиллюстрировать инкапсуляцию можно на простом примере. Допустим, нам необходимо хранить вещественное значение и его строковое представление (например, для того, чтобы не производить каждый раз конвертацию в случае частого использования). Пример реализации без инкапсуляции таков:

class NoEncapsulation

{ public double Value;

public string ValueString; }

При этом мы можем отдельно изменять как само значение Value, так и его строковое представление, и в некоторый момент может возникнуть их несоответствие (например, в результате исключения). Пример реализации с использованием инкапсуляции:

class EncapsulationExample

{

private double valueDouble;

private string valueString;

public double Value

{

get { return valueDouble; }

set

{

valueDouble = value;

valueString = value.ToString();

} }

public string ValueString

{ get { return valueString; }

set {double tmp_value = Convert.ToDouble(value); valueDouble = tmp_value;

valueString = value;

} } }

Здесь доступ к переменным valueDouble и valueString возможен только через свойства Value и ValueString. Если мы попытаемся присвоить свойству ValueString некорректную строку и возникнет исключение в момент конвертации, то внутренние переменные останутся в прежнем, согласованном состоянии, поскольку исключение вызывает выход из процедуры.

 

Делегаты.

Делегат — это вид класса, предназначенный для хранения ссылок на методы. Делегат, как и любой другой класс, можно передать в качестве параметра, а затем вызвать инкапсулированный в нем метод. Делегаты используются для поддержки событий, а также как самостоятельная конструкция языка. Рассмотрим сначала второй случай. Описание делегата задает сигнатуру методов, которые могут быть вызваны с его помощью: [ атрибуты ] [ спецификаторы ] delegate тип имяделегата ([ параметры ])

Спецификаторы делегата имеют тот же смысл, что и для класса, причем допуска ются только спецификаторы new, public, protected, internal и private. Тип описывает возвращаемое значение методов, вызываемых с помощью делегата, а необязательными параметрами делегата являются параметры этих методов. Делегат может хранить ссылки на несколько методов и вызывать их поочередно естественно, что сигнатуры всех методов должны совпадать.

Пример описания делегата: public delegate void D (int i);

Здесь описан тип делегата, который может хранить ссылки на методы, возвращающие void и принимающие один параметр целого типа. Объявление делегата можно размещать непосредственно в пространстве именили внутри класса.

 





Поделиться с друзьями:


Дата добавления: 2016-07-29; Мы поможем в написании ваших работ!; просмотров: 464 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Сложнее всего начать действовать, все остальное зависит только от упорства. © Амелия Эрхарт
==> читать все изречения...

2160 - | 2048 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.008 с.