Разработка классов предметной области "Кошки"

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование



Кафедра КТиС

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

к курсовой работе

по диiиплине: Языки программирования и методы трансляции

на тему: Разработка классов предметной области Кошки

Введение

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

Фактически объект стал отражать как реальные, так и абстрактные понятия окружающего мира. Работать с привычными понятиями легче, чем с абстрактными числами.

Специалистам - программистам удалось выделить и разработать большой набор абстрактных объектов, которые используются при создании программ. Эти объекты в Delphi называются компонентами и представлены в палитре компонент. Эти объекты можно использовать в различных проектах и сколько угодно раз, без затраты времени на их программирование. Примером компонентов являются Label, Edit. и так далее.

1. Принципы объектно-ориентированного программирования

Одним из шагов в развитии технологий программирования было появление объектно-ориентированного программирования. Здесь программный код перестал быть "плоским" и программист оперирует не просто процедурами и функциями, а целыми объектами.

Объект - совокупность свойств, методов, событий. Что означает "совокупность"? Это значит, что объект как бы состоит из методов, свойств и событий, и они обеспечивают его полноценную работу. Представим себе кнопку. Она обладает:

свойствами (цвет, текст на кнопке, шрифт текста и так далее);

событиями (события пользовательского ввода, например, нажатие на кнопку);

методами (обеспечивающими работу кнопки, например, метод прорисовки текста, прорисовки фокуса и так далее).

Если все это объединить, то получается автономный объект, который может работать в различных условиях. В этом случае достаточно только установить кнопку на форме, и она уже готова к применению. Как же оформляются свойства, методы и события объекта в программах?

Свойства - это переменные, которые влияют на состояние объекта. Например, ширина, высота.

Методы - это те же процедуры и функции, то есть это то, что объект умеет делать (вычислять). Например, объект может иметь процедуру для вывода какого-то текста на экран. Эта процедура и есть метод, который принадлежит объекту.

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

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

Рассмотрим пример. Пусть пользователь нажал на кнопку. В этом случае она, как объект, генерирует соответствующее событие. В результате этого может быть вызвана процедура-обработчик, которую вы назначили кнопке при возникновении данного события. В этом случае не требуется никакая дополнительная информация, поэтому объект не будет пересылать никаких параметров, кроме указателя на самого себя. Однако, если нужно обработать событие, связанное с перемещением курсора мыши, дело будет обстоять несколько иначе. В этом случае объект будет генерировать событие и автоматически передавать новые координаты X и Y курсора, поэтому процедура должна быть объявлена с соответствующими параметрами, чтобы можно было принять их от объекта.

События - наиболее сложная часть объектов, но на практике работа с ними намного проще.

Теперь рассмотрим работу свойств, методов и событий как единого целого.

И снова для примера возьмем объект - кнопку. Такой объект должен обладать следующим минимальным набором.

Свойства:

левая позиция (X);

верхняя позиция (Y);

ширина;

высота;

заголовок;

методы:

создать кнопку;

уничтожить кнопку;

нарисовать кнопку;

события:

кнопка нажата;

заголовок кнопки изменен.

Объект работает как единое целое. Например, изменили заголовок кнопки. Объект генерирует событие "заголовок кнопки изменен". По этому событию вызывается метод "нарисовать кнопку". Этот метод рисует кнопку в позиции, указанной в свойствах объекта, и выводит на кнопке новый текст, указанный в свойстве "заголовок".

У каждого объекта обязательно присутствуют два метода: "создать объект" и "уничтожить объект". Во время создания объекта происходит выделение памяти для хранения необходимых свойств, и заполняются значения по умолчанию. Во время уничтожения объекта происходит освобождение выделенной памяти.

Класс в D