Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Методы в Си-шарп. Разница между простыми и статическими



Метод – это небольшая подпрограмма, которая выполняет, в идеале, только одну функцию. Методы позволяют сократить объем кода.
Статический метод – это метод, который не имеет доступа к полям объекта, и для вызова такого метода не нужно создавать экземпляр (объект) класса, в котором он объявлен.
Простой метод – это метод, который имеет доступ к данным объекта, и его вызов выполняется через объект.

 

Конструкторы в Си-шарп. Указатель this
Конструктор – это метод класса, предназначенный для инициализации объекта при его создании. Инициализация – это задание начальных параметров объектов/переменных при их создании.
Особенностью конструктора, как метода, является то, что его имя всегда совпадает с именем класса, в котором он объявляется. При этом, при объявлении конструктора, не нужно указывать возвращаемый тип, даже ключевое слово void. Конструктор следует объявлять как public, иначе объект нельзя будет.

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

Объявление конструктора имеет следующую структуру:

public [имя_класса] ([аргументы])
{
// тело конструктора
}


Без конструктора надо после создания объекта отдельно присваивать значения его полям, что очень неудобно.


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

 













Свойства в Си-шарп. Аксессоры get и set. Автоматические свойства

В этом уроке мы продолжим рассматривать члены классов, и на очереди у нас свойства.

Свойство в Си-шарп – это член класса, который предоставляет удобный механизм доступа к полю класса (чтение поля и запись). Свойство представляет собой что-то среднее между полем и методом класса. При использовании свойства, мы обращаемся к нему, как к полю класса, но на самом деле компилятор преобразовывает это обращение к вызову соответствующего неявного метода. Такой метод называется аксессор (accessor). Существует два таких метода: get (для получения данных) и set (для записи). Объявление простого свойства имеет следующую структуру:

[модификатор доступа] [тип] [имя_свойства]
{
get
{
// тело аксессора для чтения из поля
}

set
{
// тело аксессора для записи в поле
}
}


Наследование в Си-шарп. Конструктор базового класса

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

Объявление нового класса, который будет наследовать другой класс, выглядит так:

class [имя_класса] : [имя_базового_класса]
{
// тело класса
}


Массив указателей на базовый класс в Си-шарп. Операторы is и as

В Си-шарп есть возможность создания массива (или списка) указателей на базовый класс в котором в качестве элементов могут быть объекты класса-наследника.

Оператор is
Оператор is работает очень просто – он проверяет совместимость объекта с указанным типом (принадлежит ли объект определенному классу). Оператор isвозвращает истину (true), если объект принадлежит классу.

Оператор as
Разница между оператором as и явным приведением лишь в том, что в случае невозможности преобразования, оператор as возвращает null, тогда как явное приведение выбрасывает исключение.


Поделиться:



Последнее изменение этой страницы: 2019-03-22; Просмотров: 584; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.011 с.)
Главная | Случайная страница | Обратная связь