Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Индексатор

Свойства

Деструктор.

Деструктор это специальный вид метода он вызывается сборщиком мусора, непосредственно перед удалением объекта из памяти. В деструкторе описываются действия, которые гарантируют корректность последующего удаления объекта (проверяются все ли ресурсы) используемые объектом освобождены, например: файлы закрыты, удаленное соединение разорвано. Синтаксис деструктора:

[атрибуты] [extern] ~ имя класса()

Деструктор не имеет параметров,не возвращает значения, и не требует указания и спецификаторов доступа. Его имя совпадает с именем класса и предваряется ~. Тело деструктора представляет собой блок или просто;, если деструктор определен как внешний.

Свойства служат для организации доступа к полям класса. Свойства связана с закрытым полем класса и определяет методы его получения и установки.

Синтаксис: Атрибуты [спецификаторы] тип имя_свойства

[get {код доступа}]

[set {код доступа}]

}0

Чаще всего свойства объявляются как открытые. Так как они входят в интерфейс объекта. Код доступа представляет собой блоки операторов, которые выполняются при получение(get) или установки(set) свойства, если отсутствует часть set, то свойство доступно только для чтения, если отсутствует часть get, то свойство доступно только для записи.

Метод get должен содержать метод Return в методе set используется параметр со стандартным именем value, который содержит устанавливаемые значения. С помощью свойств инициализация до того момента когда оно фактически потребуется.

Конструктор класса – инициализирует поля.

Если у класса есть скрытый массив, то с помощью индексатора можно обратиться к элементу этого массива. Для этого записывается имя объекта, и номер элемента в квадратных скобках, индексатор это «умный» индекс для объектов.

[Атрибуты] [Спецификаторы] тип this [список параметров]

{

{get [код доступа];}

{set [код доступа];}

}

Код доступа представляет собой блоки операторов, которые выполняются при получении (get) или установке значения (set) элемента массива. Если отсутствует часть set, то индексатор доступен для чтения если отсутствует часть get то индексатор доступен только для записи. Список параметров содержит одно или несколько описаний индексов. По которым выполняются доступ к элементу. Чаще всего используется один индекс целого типа. Благодаря применению индексаторов с объектом заключающий в себе массив, можно работать так же как с обычным массивом. Если обращение к объекту, встречается в левой части оператора присваивания x[i]=2; то автоматически вызывается оператор get. Если обращение выполняется в составе выражения, ConsoleWriteLine(x[i]) то вызывается метод Set.

Операции класса

C# позволяет переопределить действия большинство операций так, что бы при использовании с объектами конкретного класса, они выполняли заданные функции. Это дает возможность применять экземпляры собственных типов данных в составе выражений так же как стандартных.

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

[атрибуты] спецификаторы объявитель операций {тело}

В качестве спецификаторов одновременно используется ключевые слова public и static. Кроме того операцию можно объявить как внешнюю. Объявитель операции содержит ключевое слово operator. Тело операции определяет действия, которые выполняются при использовании операции в выражении. Параметры в операцию должны передаваться по значению. Можно объявлять в классе унарные операции. Синтаксис объявителя унарные операции: type унарная операция(параметр);

public static MyType (оператор) – (MyType M)

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

Можно определять в классе бинарные операции.

Синтаксис:

Тип служебное слово Operator (бинарная операция) (параметр1, параметр2)

Public static bool operator == (MyType m1, MyType m2); Хотя бы один параметр передаваемый в операцию должен иметь тип класса для которого она определяется. Операция может возвращать величину любого типа.

Наследование

Наследование обозначает способность языка обеспечение построение новых классов на основе существующих. Наследование применяется для исключения повторяющихся фрагментов кода и упрощения создания новых программ, на основе существующих. Класс в языке C# может иметь произвольное количество потомков и только одного предка.

[атрибуты][спецификаторы]class имя класса [:предки]

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

1. если в конструкторе производного класса явный вызов конструктора базового класса отсутствует, то автоматически вызывается, конструктор базового класса, без параметров.

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

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

 

Поля методы и свойства класса.

Если элемент базового класса заменяется новым элементом, то это заменяется с помощью слова new. Элемент базового класса объявленного как private, в производном классе недоступны.

Класс наследник может переопределить метод new.

 

 

<== предыдущая лекция | следующая лекция ==>
Символы и строки | Перегрузка методов
Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 496; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.009 сек.