Наследственность в Delphi

Категория: Учебники по Delphi » Быстрый старт в Delphi

Наследственность в Delphi

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

 

Наследственность — основа ООП. Даже в самой простой программе мы встречаемся с наследственно­стью, поэтому просто необходимо разобраться с этим уже сейчас.

 

Одно из величайших достижений в ООПнаследование. Рассмотрим пример. Вы написали объект— "гараж". Теперь вам нужно написать объект "дом". Га­раж— это, грубо говоря, однокомнатный дом. Оба эти здания обладают одинако­выми свойствами — стены, пол, потолок и т. д. Поэтому желательно взять за осно­ву гараж и доделать его до дома. Для этого вы создаете новый объект "Дом" и пишете, что он происходит от "Гаража".

 

Ваш новый объект сразу примет все свойства гаража. Это значит, что уже есть стены, пол и потолок, и остается доба­вить только окна и интерьер. Теперь у вас будет уже два объекта: гараж и дом. 

Используя данный прием, можно, например, создать еще будку для собаки. Для этого снова создается объект "Будка", который происходит от "Гаража" (можете произвести построение от "Дома", чтобы в будке у собаки был интерьер, но это мне кажется лишним, собака этого просто не оценит). 
Нужно только уменьшить размер гаража, изменить вход, и он превратится в будку. В итоге получается древовидная иерархия наследования свойств объектов, которая показана на рис.

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

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

Точно такой же метод наследования принят и в объектно-ориентированных язы­ках. На рис. 4.2 показан фрагмент иерархии объектов Delphi. Как видно из рисунка, все объекты происходят от TObject. Это базовый объект, который реализует ос­новные свойства И методы. От него происходит TPersistent И TThread. В реально­сти от TObject происходит намного больше объектов, и все они знают о его свой­ствах и методах и наследуют их себе.

Наследственность в Delphi

 

Компонентная модель Delphi

Категория: Учебники по Delphi » Быстрый старт в Delphi

Delphi КомпонентКомпоненты — это более совершенные объекты. Грубо говоря, компоненты — это объекты, с которыми можно работать визуально, и для этого у них есть необхо­димые свойства и методы.

 

Когда создавалась технология объектно-ориентированного программирования (ООП), о визуальности еще никто не думал, и она существовала только в мечтах программистов. Фирма Borland тогда создала библиотеку объектов Object Windows Library (OWL — Объектная Библиотека Windows). А когда Borland соз­давала свою первую визуальную оболочку для Windows, пришлось немного дора­ботать концепцию ООП, чтобы с объектами можно было работать визуально.

 

До появления 6-й версии в Delphi существовала только одна компонентная модель— VCL (Visual Component Library— визуальная библиотека компонентов). В 6-й версии появилась новая библиотека CLX (Borland Component Library for Cross Platform — кроссплатформенная библиотека компонентов).

 

VCL— библиотека компонентов, разработанная только под Windows. Она очень хорошая и универсальная, но работает только в этой операционной системе.

 

В 2000 году фирма Borland решила создать визуальную среду разработки для Linux. В основу этой среды разработки легла Delphi и VCL. Но просто создать но­вую среду разработки было слишком легко и не эффективно. Было принято реше­ние сделать новую библиотеку компонентов, с помощью которой можно было бы писать код как под Windows, так и под Linux. Это значит, что код, написанный в Delphi под Windows, должен без проблем компилироваться под Linux и притом без дополнительных изменений.

 

Так в 2001 году появилась новая среда разработки Kylix, которая смогла компи­лировать исходные тексты, написанные на Delphi, для работы в операционной сис­теме Linux. В качестве компонентной модели использовалась новая библиотека CLX. В принципе это та же самая VCL с небольшими доработками. Даже имена объектов остались те же.

 

Рефакторинг программного кода - необходимость или мода?

Категория: Учебники по Delphi » Быстрый старт в Delphi

Что такое рефакторинг? Я видел достаточно много определений этому понятию, но все они сводяться к улучшению существующего кода. Если ты пишешь только идеальный код, который нужно улучшать только в тех случаях, когда он не работает, то сильно заблуждаешся. Улучшения нужны даже тогда, когда код работает вполне корректно. Для чего, когда и как нужно улучшать мы поговорим в этой статье.

 

Создание самого plug-in модуля в Delphi

Категория: Учебники по Delphi » Быстрый старт в Delphi

Основная программа готова. Вот теперь примемся за написание plug-in модуля, который будет подключаться к ней. Для этого нужно создать новый проект dll-файла. Для этого в Delphi откройте в меню File подменю New, а затем выберите пункт Other. В появившемся окне создания нового проекта выберете элемент DLL Wizard и нажмите кнопку OK.

 

 

Написание plug-in модулей В Delphi

Категория: Учебники по Delphi » Быстрый старт в Delphi

В последнее время в большинство программ стали встраивать возможность работы с дополнительными модулями (plug-ins). Это не просто дань моде, это возможность наделить свои программы дополнительными возможностями за счет независимых разработчиков. Один программист или даже целая компания не могут делать все самостоятельно. Именно поэтому они предлагают независимым разработчикам возможность улучшения их продукта собственными силами.

 

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