Навигация
Главная
Поиск
Форум
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
21 ошибка прогр... 65535
HACK F.A.Q 65535
Бип из системно... 65535
Гостевая книга ... 65535
Invision Power ... 65535
Пример работы с... 65535
Содержание сайт... 65535
ТЕХНОЛОГИИ ДОСТ... 65535
Организация зап... 65535
Вызов хранимых ... 65535
Создание отчето... 65535
Имитационное мо... 65535
Программируемая... 65535
Эмулятор микроп... 65535
Подключение Mic... 65535
Создание потоко... 65535
Приложение «Про... 65535
Оператор выбора... 65535
Реклама
Сайт продвижение бесплатная пошаговая инструкция по продвижению.
Сейчас на сайте
Гостей: 7
На сайте нет зарегистрированных пользователей

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

Движение шарика в эллиптическои параболоиде на Delphi [OpenGL] + Блок схемы
Обработка задач на ЭВМ на GPSS + Пояснительная записка
Игра Sokoban на Delphi + Блок схемы

Основные понятия ООП. Классы
В основе ООП лежат понятия класса и его физической реализации – объекта.
Класс – это сложная структура (аналогичная типу), включающая в себя, помимо описания данных, описание подпрограмм (процедур и функций), которые могут быть выполнены над объектом, а также характеристики данных и подпрограмм.
Данные класса называются полями, подпрограммы – методами, а характеристики данных и подпрограмм – свойствами.
Обычно классы задаются в разделе объявления типов тех или иных модулей, и, чтобы их можно было использовать в программе и других модулях, эти объявления должны быть сделаны в интерфейсе модуля.
Класс объявляется на основе общего правила задания типов. Описание структуры класса в языке О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 13:35:52 · 0 Комментариев · 20350 Прочтений · Для печати

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


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



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

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

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

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

Пароль



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

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

Случайные загрузки
PHP 5 на примерах
XPATComponents
Простой текстовый...
UmEdit
SynEdit
C++ Builder в за...
Изучаем Ассемблер
ScreenSaver [Исхо...
Программирование ...
oTextrackBar
TmxOutlookBarPro
Базы данных в Инт...
Конвертирование и...
Delphi 2005. Разр...
Советы от Даниилы...
Программа рисует ...
Пример работы с р...
Scrrlcaptoin
Шкрыль А. - Разра...
IpEditAdress

Топ загрузок
Приложение Клие... 100800
Delphi 7 Enterp... 98064
Converter AMR<-... 20302
GPSS World Stud... 17068
Borland C++Buil... 14261
Borland Delphi ... 10388
Turbo Pascal fo... 7398
Калькулятор [Ис... 6093
Visual Studio 2... 5241
Microsoft SQL S... 3676
Случайные статьи
Событие OnDragOver
Выбор размера сегм...
Модернизация Award...
Кошачий туалет зак...
Поток с использова...
Invalid file handle
Двойная тильда (~~)
Создание справки (...
Перегрузка методов...
Окна программы Pro...
OpenGL. Шесть куби...
Умножение и деление
Подключения к друг...
Буфер TLB
Причинные КОДЫ
необходимы
Функции управления...
Идейный лидер
Функция GetPixel -...
Символы, используе...
Разделение памяти ...
Ограничение проток...
Горилла официальны...
Слотобаза
Объекты классов
Статистика



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


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