Delphi Для Профессионалов Объектно-ориентированное Программирование

Location

Total Floor Area

Design

Program

Во-первых, в теле конструктора нет привычных инструкций New, обеспечивающих выделение динамической памяти (всю необходимую работу по выделению памяти выполняет компилятор). Во-вторых, формально конструктор не возвращает значения, хотя в программе обращение к конструктору осуществляется как к методу функции. Единственная причина, по которой мы можем реализовать экземпляры объектов типа TAnimal.

одно из основополагающих понятий объектно-ориентированного

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

Краеугольные Камни Ооп

Помимо выделения памяти, конструктор, как правило, решает задачу присваивания полям объекта начальных значений, т. Весь процесс создания приложений расписан очень подробно и иллюстрирован рисунками, а приведенный программный код в большинстве случаев снабжен комментариями. Чтобы объект MyDog можно было на самом деле использовать в приложении, мы должны его создать. Создать базовый класс можно так же просто, как и базовую запись. Что для создания класса необходимо использовать зарезервированное слово class.

Метод Free сам вызывает деструктор Destroy, но только в том случае, если значение объектной переменной не равно nil. Поэтому последнюю строчку в приведенном выше примере можно переписать следующим образом. Обратите внимание, что приведенное выше описание является ничем иным, как декларацией интерфейса для работы с объектами класса TDelimitedReader. Реализация методов PutItem, SetActive, ParseLine, NextLine и GetEndOfFile на данный момент отсутствует, однако для создания и использования экземпляров класса она пока и не нужна. В описании класса перед именем свойства записывают слово property (свойство).

Delphicomponentru – Бесплатно Видеоуроки По Delphi, Статьи, Исходники

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

Сейчас преимущества использования объектов очевидны для всех. Сначала старая гвардия не поняла и не приняла объекты, поэтому они почти 20 лет потихоньку развивались в различных языках, первым из которых была Simula 67 https://deveducation.com/. Постепенно объектно-ориентированный подход нашел себе место и в более мощных языках, таких как C++, Delphi и множестве других языков.

Доступ к полю объекта осуществляется указанием имени объекта и имени поля, которые отделяются друг от друга точкой. Хотя объект является ссылкой, правило доступа к данным с помощью ссылки, согласно которому после имени переменной, являющейся ссылкой, надо ставить значок Л, на объекты не распространяется. Выделение памяти для данных объекта происходит путем присваивания значения результата применения метода-конструктора к типу (классу) объекта. Выделение памяти осуществляется при помощи специального метода класса — конструктора, которому обычно присваивают имя Create (создать).

Курс Практического Программирования В Delphi Объектно-ориентированное Программирование

Технология объектно-ориентированного программирования в среде Delphi предписывает избегать прямого обращения к полям, создавая вместо этого соответствующие свойства. Это упорядочивает работу с объектами, изолируя их данные от непосредственной модификации. В будущем внутренняя структура класса, которая иногда является достаточно сложной, может быть изменена с целью повышения эффективности работы программы. При этом потребуется переработать только методы чтения и записи значений свойств; внешний интерфейс класса не изменится. Этот простой принцип означает, что если вы хотите создать новый класс объектов, который расширяет возможности уже существующего класса, то нет необходимости в переписывании заново всех полей, методов и свойств. Вы объявляете, что новый класс является потомком (или дочерним классом) имеющегося класса объектов, называемого предком (или родительским классом), и добавляете к нему новые поля, методы и свойства.

объектно ориентированное программирование delphi

Каждая процедура, которой нужны данные, хранящиеся в записи типа TAnimal, должна иметь параметр, который будет принимать указатель (параметры-переменные действуют как указатели) на фактические данные. В самом последнем варианте объем используемой во время работы памяти компьютера сократился до 7 с небольшим Мб, тогда как в начале приложение во всю веселилось с 30 Мб. Использование ООП, рефакторинг кода и знание математики позволяют делать красивый и эффективный код, помните это всегда. Согласитесь, тру-кодер сам бы сожрал руку, написавшую такой код «с запашком». Раз уж мы решили эволюционировать в настоящих программеров, будем решать задачу избавления от повторяющегося кода и облегчения работы программы.

  • Следовательно, объекты изначально приспособлены для создания сложных динамических структур данных, таких как списки и деревья.
  • Но от понимания объектов до их грамотного использования – дистанция огромного размера.
  • Примером является свойство ItemCount, значение которого вычисляется как Length(FItems).
  • данные.
  • •   полиформизм
  • Создать базовый класс можно так же просто, как и базовую запись.

Если бы этих моделей не было, природные механизмы не позволили бы нам продолжать свой род. А компилятор Delphi не смог бы создавать экземпляры объектов. Следует помнить, что только свойства-массивы могут быть основными свойствами объектов; для обычных свойств это недопустимо. Итак, вы уже имеете некоторое представление об объектах, перейдем теперь к вопросу реализации их методов. Первое объявление класса TDelimitedReader называется упреждающим (от англ. forward). Оно необходимо для того, чтобы компилятор нормально воспринял объявление поля Owner в классе TDelimitedReader.

объектно ориентированное программирование delphi

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

More Projects
Wordpress Social Share Plugin powered by Ultimatelysocial
A guide to nonprofit bookkeeping and accounting.