Реферат: Протоколы и стандарты объектно-ориентированного программирования
ружность и квадрат естественно рассматривать как варианты геомет-
рической фигуры. Полезно составлять списки фигур, нарисованных на
экране, или функций, которые их размножают, двигают и т.д. О точ-
ном типе объекта приходится порой забывать. Список геометричес-
ких фигур "не знает", что в нем находится - отрезки или звездоч-
ки. Не знает этого и компилятор. Но все время, пока вы рисуете
эти объекты, неизбежно приходится "помнить", что они из себя
представляют. Конечно, возможности низкого уровня позволяют "за-
бывать" и "вспоминать" когда и как нам заблагорассудится, но при
этом компилятор теряет контроль над осмысленностью действий.
Использование производных классов и виртуальных функций поз-
воляет избежать рискованной техники и не заботится о том, в ка-
кой форме объект типа "геометрическая фигура" хранит информацию о
том, круг он или квадрат. (Кроме возможностей ООП, создание ти-
пов данных "треугольник" или "квадрат" как производные от базово-
го класса "геометрическая фигура" отражает логическую связь поня-
тий). Виртуальные функции, по существу, определяют, что именно
можно делать с объектом, а не то, как это делать. Создавая класс
"геометрическая фигура", мы можем включить в него виртуальные
функции рисования, увеличения, поворота. С использованием этих
функций можно создать еще один член класса.
Затем можно разработать библиотеку программ интерактивной
графики, снабдив ее средствами диалого, функциями вроде дополне-
ния некоторой области экрана одинаковыми геометрическими фигура-
ми и т.д. Библиотечные функции будут вызывать функции-члены клас-
са "геометрическая фигура": рисования, движения, поворота,увели-
чения. А после того, как мы все это напишем, откомпилируем, спря-
чем текст функций, которые считаем своей интеллектуальной соб-
ственностью, начинается самое интересное. Теперь мы можем опи-