русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Конструкторы и деструкторы. Функциональное назначение. Виды конструкторов.


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


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

Создание объектов происходит при объявлении сущности в момент ее инициализации. Пример создания объектов класса Person:

Person pers1 = new Person();

Person pers2= new Person("Петрова");

Сущности pers1, pers2 класса Person объявляются с инициализацией, задаваемой унарной операцией new, которой в качестве аргумента передается конструктор класса Person. У класса может быть несколько конструкторов. В данном примере в первой строке вызывается конструктор без аргументов, во второй строке для сущности pers2 вызывается конструктор с одним аргументом типа string. Разберем в деталях процесс создания:

• первым делом для сущности pers создается ссылка, пока висячая, со значением null;

• затем в динамической памяти создается объект — структура данных с полями, определяемыми классом Person. Поля объекта инициализируются значениями по умолчанию: ссылочные поля — значением null, арифметические — нулями, строковые — пустой строкой. Эту работу выполняет конструктор по умолчанию, который, можно считать, всегда вызывается в начале процесса создания.

• если поля класса проинициализированы, как в нашем примере, то выполняется инициализация полей заданными значениями;

• если вызван конструктор с аргументами, то начинает выполняться тело этого конструктора. Как правило, при этом происходит инициализация отдельных полей класса значениями, переданными конструктору. Так, поле fam объекта pers2 получает значение "Петрова";



• На заключительном этапе ссылка связывается с созданным объектом.

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



<== предыдущая лекция | следующая лекция ==>
Основные понятия объектно-ориентированного программирования — класс, объект, поле, метод, свойство. | Деструкторы класса


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

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