Классы и объекты. В предыдущем примере на самом деле описаны множества однотипных объектов (Позиция, Звезда, Планета), которые обладают одинаковыми возможностями, т. е. Позиция, Звезда и Планета представляют целые классы объектов.
Класс и объект – два общепринятых термина. Какова же разница между ними?
Термин класс объединяет объекты с одинаковыми возможностями (данными и методами). Он описывает общее поведение и характеристики набора аналогичных друг другу объектов. Объект – это экземпляр класса или, другими словами, переменная, тип которой задается классом. Объекты в отличие от классов реальны, т. е. существуют и хранятся в памяти во время выполнения программы. Соотношения между объектом и классом аналогичны соотношениям между переменной и типом.
Компоненты. Использование библиотек классов повышает скорость разработки программ, но, с другой стороны, требует определенных усилий для изучения этих библиотек и понимания того, как они устроены. Кроме того, библиотека классов должна быть написана на том же языке программирования, что и разрабатываемая программа. Конечно, существуют способы сопряжения разных языков программирования, но все равно, для того чтобы использовать, например, для программы, написанной на языке Раscаl, библиотеку классов С++, необходимо написать программу с вызовами нужных функций или порождением необходимых классов.
Подобные неудобства привели к появлению концепции компонента – программного модуля или объекта, который готов для использования в качестве составного блока программы и которым можно визуально манипулировать во время разработки программы.
Компонент – это объект, объединяющий состояние и интерфейс (способ взаимодействия). Состояние компонента может быть изменено только с помощью изменения его свойств и вызова методов.
У компонента имеются два типа интерфейсов:
Интерфейс проектирования позволяет включать компоненты в современные среды разработки приложений, а интерфейс выполнения управляет работой компонента во время выполнения программы. При этом неважно, на каком языке программирования реализован компонент. Он должен просто удовлетворять определенным внешним параметрам и быть нейтрален по отношению к языку программирования, чтобы его можно было использовать в программе на любом языке, поддерживающем компонентную технологию. Так, например, компоненты стандарта АсtivеX могут быть одинаково успешно включены в программу, реализованную в среде Visual Basic, и в приложение, разработанное средствами Delphi.
Достарыңызбен бөлісу: |