Навигация
Главная
Поиск
Форум
FAQ's
Ссылки
Карта сайта
Чат программистов

Статьи
-Delphi
-C/C++
-Turbo Pascal
-Assembler
-Java/JS
-PHP
-Perl
-DHTML
-Prolog
-GPSS
-Сайтостроительство
-CMS: PHP Fusion
-Инвестирование

Файлы
-Для программистов
-Компонеты для Delphi
-Исходники на Delphi
-Исходники на C/C++
-Книги по Delphi
-Книги по С/С++
-Книги по JAVA/JS
-Книги по Basic/VB/.NET
-Книги по PHP/MySQL
-Книги по Assembler
-PHP Fusion MOD'ы
-by Kest
Professional Download System
Реклама
Услуги

Автоматическое добавление статей на сайты на Wordpress, Joomla, DLE
Заказать продвижение сайта
Программа для рисования блок-схем
Инженерный калькулятор онлайн
Таблица сложения онлайн
Популярные статьи
OpenGL и Delphi... 65535
Форум на вашем ... 65535
HACK F.A.Q 65535
Бип из системно... 65535
Гостевая книга ... 65535
Содержание сайт... 65535
Вызов хранимых ... 65535
Программируемая... 65535
Эмулятор микроп... 65535
Подключение Mic... 65535
Приложение «Про... 65535
Оператор выбора... 65535
Invision Power ... 65294
Организация зап... 63946
Модуль Forms 60857
Создание отчето... 60726
ТЕХНОЛОГИИ ДОСТ... 57046
Создание потоко... 56397
Пример работы с... 54294
Имитационное мо... 52497
Реклама
Шугаринг или эпиляция сахаром.
Сейчас на сайте
Гостей: 10
На сайте нет зарегистрированных пользователей

Пользователей: 13,065
новичок: railval
Новости
Реклама
Выполняем курсовые и лабораторные по разным языкам программирования
Подробнее - курсовые и лабораторные на заказ
Delphi, Turbo Pascal, Assembler, C, C++, C#, Visual Basic, Java, GPSS, Prolog, 3D MAX, Компас 3D
Заказать программу для Windows Mobile, Symbian

Моделирование процесса передачи данных по магистрали с основным и резерв...
Лабораторная работа по динамическим спискам на Turbo Pascal (удаление ду...
Моделирование системы управления качеством производственного процесса на...

Реклама



Подписывайся на YouTube канал о программировании, что бы не пропустить новые видео!

ПОДПИСЫВАЙСЯ на канал о программировании
Основные понятия ООП. Классы
В основе ООП лежат понятия класса и его физической реализации – объекта.
Класс – это сложная структура (аналогичная типу), включающая в себя, помимо описания данных, описание подпрограмм (процедур и функций), которые могут быть выполнены над объектом, а также характеристики данных и подпрограмм.
Данные класса называются полями, подпрограммы – методами, а характеристики данных и подпрограмм – свойствами.
Обычно классы задаются в разделе объявления типов тех или иных модулей, и, чтобы их можно было использовать в программе и других модулях, эти объявления должны быть сделаны в интерфейсе модуля.
Класс объявляется на основе общего правила задания типов. Описание структуры класса в языке Оbjеct Pascal начинается с зарезервированного слова class, после которого в круглых скобках указывается имя родительского класса. Если он не указан, то предполагается, что родительским является класс TОbjеct, который в ООП-модели языка Object Pascal по умолчанию считается предком всех объявленных классов. Далее в виде отдельных строк записываются поля данных, методы и свойства. Завершается описание класса зарезервированным словом end. Если ни одного поля, метода или свойства у объявляемого класса нет, но указан непосредственный предок класса, зарезервированное слово end в конце объявления можно не писать. Последовательность записи отдельных элементов (поля, методы, свойства) класса безразлична (с учетом возможности использования одними элементами других), однако чаще всего сначала записываются поля, затем методы и, наконец, свойства.
Пример описания простого класса :
TTPerson=class
private
fname:string[15];
faddress:string[35];
public
procedure show;
end;



В приведенном примере TTPerson – это имя класса, fname и faddress – имена полей, show – имя метода.
Для методов в объявлении класса записываются только их заголовки. Само же тело методов описывается впоследствии - в исполнительной части модуля - так же, как это делается для подпрограмм в модулях.
В ряде случаев может оказаться, что два класса используют характеристики друг друга. В этом случае приходится использовать опережающее объявление одного из этих классов, аналогично тому, как это делается для подпрограмм с использованием директивы forward. При опережающем объявлении сначала записывается лишь имя класса и через знак равенства - зарезервированное слово class, например:
TObject = class;



Далее по тексту предварительно объявленный класс должен быть описан полностью в подходящем месте программы так же, как это делается без предварительного объявления.
Отдельные элементы класса могут иметь различные возможности по их использованию вне рассматриваемого класса (иметь разные области доступности или, иначе, видимости). В ООП DELPHI имеется несколько вариантов задания областей видимости, которые определяют разделы (секции) в описании класса и начинаются с ключевых слов private, public, protected, published и automated. Количество и порядок следования этих разделов могут быть произвольными.
Общую структуру описания класса можно представить следующим образом:
type
ИмяКласса = class(ИмяРодительскогоКласса)
Опубликованные поля, методы, свойства;
private
Скрытые поля, методы, свойства;
public
Общедоступные поля, методы, свойства;
protected
Защищенные поля, методы, свойства;
published
Опубликованные поля, методы, свойства;
automated
Поля, методы, свойства для OLE-объектов;
end;





Сноски:
9 Согласно принятому в DELPHI соглашению имена классов обычно (но необязательно!) начинаются с префикса T, а имена полей – с префикса F (или f). Смысл ключевых слов private, public поясняется ниже.









Опубликовал Kest December 21 2009 16:35:52 · 0 Комментариев · 17554 Прочтений · Для печати

• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •


Комментарии
Нет комментариев.
Добавить комментарий
Имя:



smiley smiley smiley smiley smiley smiley smiley smiley smiley
Запретить смайлики в комментариях

Введите проверочный код:* =
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.

Нет данных для оценки.
Гость
Имя

Пароль



Вы не зарегистрированны?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь.
Поделиться ссылкой
Фолловь меня в Твиттере! • Смотрите канал о путешествияхКак приготовить мидии в тайланде?
Загрузки
Новые загрузки
iChat v.7.0 Final...
iComm v.6.1 - выв...
Visual Studio 200...
CodeGear RAD Stud...
Шаблон для новост...

Случайные загрузки
Искусство програм...
CaptionButton
CoolHints2k
iComm v.6.1 - выв...
HTMLredaktor
Изучаем Ассемблер
С. Г. Горнаков - ...
C++ Builder в за...
EMSQuickImport
Форма в форме
FreeSMS v1.3.1
База данных: Книж...
Основы программир...
NotePad Pro [Исхо...
Простой пример ка...
Srinilist
Comdrv
3D Октаэдр
около 291 статьи ...
Delphi на примерах

Топ загрузок
Приложение Клие... 100376
Delphi 7 Enterp... 83101
Converter AMR<-... 20046
Borland C++Buil... 11180
GPSS World Stud... 10916
Borland Delphi ... 8128
Turbo Pascal fo... 6973
Visual Studio 2... 4963
Калькулятор [Ис... 4366
FreeSMS v1.3.1 3510
Случайные статьи
если удалить строк...
Что часто является...
Идеальная структур...
Функции обработки ...
Разработка своими ...
В восьмой главе ра...
Покраска
Содержимое объекта...
Принципы реализаци...
Реализация классиф...
Варианты атмосферы...
Подсписок из списк...
Структура сообщени...
Инфографика — это ...
Тестирование запросов
Способы организаци...
Динамические масси...
Программирование: ...
Модули в XHTML
получат только про...
Программы-генераторы
Передача коммутато...
План книги
функции-члены
Любая матрица с не...
Статистика



Друзья сайта
Программы, игры


Полезно
В какую объединенную сеть входит классовая сеть? Суммирование маршрутов Занимают ли таблицы память маршрутизатора?