Ноу Интуит Введение В Программирование На Delphi Лекция 6: Ооп Объектно-ориентированное Программирование
Класс – сложная структура, включающая, помимо описания данных, описание процедур и функций, которые могут быть выполнены над представителем класса –
Например, класс TDelimitedReader представляет собой “читатель” текстового файла с разбором считываемых строк на элементы (подстроки), которые отделены друг от друга некоторым символом, называемым разделителем. Об объектах можно думать как о полезных существах, которые “живут” в вашей программе и коллективно решают некоторую прикладную задачу. Вы, как Демиург, лепите этих существ, распределяете между ними обязанности и устанавливаете правила их взаимодействия. Несколько лет назад книгу по Delphi 2 или three надо было начинать с азов объектно-ориентированного программирования (ООП).
Введение В Программирование На Delphi
Однако с появлением графических систем программирование пользовательского интерфейса резко усложнилось. Программист в какой-то мере стал дизайнером, а визуальная компоновка и увязка элементов пользовательского интерфейса (кнопок, меток, строк редактора) начали отнимать основную часть времени. И тогда программистам пришла в голову идея визуализировать объекты, объединив программную часть объекта с его видимым представлением на экране дисплея в одно целое. При изменении значения свойства “цвет” вызывается метод, который перерисовывает кнопку. Единственная причина, по которой мы можем реализовать экземпляры объектов типа TAnimal. Что класс TAnimal наследует необходимые методы от класса TObject.
нам скоро предстоит познакомиться. Каждый компонент – это объект, но не каждый объект является компонентом. Элементы массива Items можно только читать, поскольку класс TDelimitedReader предназначен только для чтения данных из файла.
Объектно-ориентированное Программирование В Delphi (ооп)
достаточно просто модифицируемые программные системы. Этим объясняется интерес программистов к объектно-ориентированному подходу и объектно-ориентированным языкам программирования.
Первое объявление класса TDelimitedReader называется упреждающим (от англ. forward). Оно необходимо для того, чтобы компилятор нормально воспринял объявление поля Owner в классе TDelimitedReader. Объединение данных и операций в одну сущность – объект – тесно связано с понятием инкапсуляции, которое означает сокрытие https://deveducation.com/ внутреннего устройства. Инкапсуляция делает объекты похожими на маленькие программные модули, в которых скрыты внутренние данные и у которых имеется интерфейс использования в виде подпрограмм. Переход от понятий “структура данных” и “алгоритм” к понятию “объект” значительно повысил ясность и надежность программ.
Краеугольные Камни Ооп
Метод рассматривается как программный код, связанный с определенным объектом; одно из основополагающих понятий объектно-ориентированного осуществляет преобразование свойств, изменяет поведение объекта.
- Объект – это некоторая структура,
- Поэтому в данной главе мы постараемся акцентировать внимание читателя на применение ООП в среде Delphi 7.
- Сейчас преимущества использования объектов очевидны для всех.
- программирования используется в ряде языков высокого уровня, например, в
классы. Концепция полиморфизма обеспечивает в случае применения метода к объекту использование именно того метода, который соответствует классу объекта.
А можно ли создать единый массив объектов, но разных классов? Об этом и будет следующая часть, а код из примера выше — в ветке lesson2-1. Вызов деструктора для несуществующих объектов недопустим и при выполнении программы приведет к ошибке.
Итак, конструктор базового класса осуществляет инициализацию общих для потомков полей — координаты центра, цвет и масштаб. В некотором смысле объекты похожи на программные модули, для использования которых необходимо изучить лишь интерфейсную часть, раздел реализации для этого изучать не требуется. Поэтому дальше от описания класса мы перейдем не к реализации методов, а к созданию на их основе объектов. В программе на методы свойства можно возложить некоторые дополнительные задачи. Например, с помощью метода можно проверить корректность присваиваемых свойству значений, установить значения других полей, логически связанных со свойством, вызвать вспомогательную процедуру.
выводя на них нужный нам текст. А перемещая кнопку на нужную позицию, мы тем самым меняли свойства Left и Top. Значение свойства может не храниться, а вычисляться при каждом обращении к свойству. Примером является свойство ItemCount, значение которого вычисляется как Length(FItems). В данной главе мы рассмотрим лишь вопросы создания и использования объектов.