ВУЗ:
Составители:
Рубрика:
77
ЗАКЛЮЧЕНИЕ
Как уже отмечалось во введении, основное назначение объ ект но-
ориентированной технологии — борьба со сложностью программиров а -
ния. Здесь под сложностью понимается отнюдь не витиеватость алго-
ритмов , а разрастание размеров исходных текстов приложений в сочет а-
нии с необходим остью их постоянной модификации. При использовании
структурного программирования каждая смена версии требует от разра-
ботчика многочисленных рутинных изменений и понимания едва ли не
всего текста проекта, написанного к данному моменту. Объектный под -
ход позволяет значительно увеличить степень пов торяе мости кода, т. е.
дает возмож ность использовать уже написанные и отлаженные библио-
теки без каких-либо изменений.
Объектная технология включает три относительно самостоятел ь -
ных механизма: поддержку абстрактных типов данных, динамическое
связывание и наследов а ние.
Во второй части мы много говорили о том , что абстракция дан-
ных необходима для обеспечения взаимной независимости разработчика
типа и пользователя. Стандартизованный интерфейс в данном случае
служит преградой на пути распространения изменений в исходном тек-
сте проекта.
Динамическое связывание в сочетании с хранением информации
о типе (RTTI — run-time type information) позволяет выбирать конкрет-
ную реализацию той или иной операции прямо во время выполнения
приложения, исходя из типа данных, к кот орым она применяется. Эта
идея не является новой и даже имеет поддержку на аппаратном уровне;
как показывает § 4.1, средствами для ее реализации обладают и проц е -
дурные яз ы ки.
Третья концепция — наследование — устоялась значительно м е-
нее первых двух. Она служит двум основным целям : облегчению мод и -
фикации типов данных и определению новых правил совместимости
при присваивании.
Понятно, что вместо изменения уже существующего типа гораз -
до проще создать на его основе новый, добавив или переопределив не-
обходимые свойства. Если бы не появление защищенного уровня дос-
тупа, эта задача сама по себе столь же успешно могла бы быть решена и
посредством композиции, т. е. включения в новый тип ссылки на объект
старого. Однако и тот , и другой способ не будут эффективно работать
при сохранении строгой типизации, допускающей присваивания лишь
З А К Л Ю ЧЕ Н И Е Как уже от м ечал ос ь в ов в ед ении, ос нов ное наз начение объект но- ориент иров анной т ехнол огии — борь ба с ос л ожнос т ь ю програм м иров а- ния. Зд ес ь под с л ожнос т ь ю поним ает с я от нюд ь не в ит иев атос т ь ал го- рит м ов , а раз рас т ание раз м еров ис ход ны хт екс тов прил ожений в с очет а- нии с необход им ос т ь ю ихпос тоянной м од ификации. При ис пол ь з ов ании с т рукт урногопрограм м иров ания кажд ая с м ена в ерс ии т ребует от раз ра- бот чика м ногочис л енны хрут инны хиз м енений и поним ания ед в а л и не в с егот екс т а проект а, напис анногок д анном у м ом ент у. Объект ны й под - ход поз в ол яет з начит ел ь но ув ел ичит ь с т епень пов торяем ос т и код а, т. е. д ает в оз м ожнос т ь ис пол ь з ов ат ь уже напис анны е и отл аженны е библ ио- т еки без каких-л ибоиз м енений. Объект ная т ехнол огия в кл ючает т ри от нос ит ел ь нос ам ос тоят ел ь - ны х м еханиз м а: под д ержку абс т ракт ны х т ипов д анны х, д инам ичес кое с в яз ы в ание и нас л ед ов ание. Во в торой час т и м ы м ного гов орил и о том , что абс т ракция д ан- ны хнеобход им а д л я обес печения в з аим ной нез ав ис им ос т и раз работ чика т ипа и пол ь з ов ат ел я. Ст анд арт из ов анны й инт ерфейс в д анном с л учае с л ужит преград ой на пут и рас прос т ранения из м енений в ис ход ном т ек- с т е проект а. Динам ичес кое с в яз ы в ание в с очет ании с хранением информ ации о т ипе (RTTI — run-time type information) поз в ол яет в ы бират ь конкрет - ную реал из ацию той ил и иной операции прям о в о в рем я в ы пол нения прил ожения, ис ход я из т ипа д анны х, к которы м она прим еняет с я. Э т а ид ея не яв л яет с я нов ой и д аже им еет под д ержку на аппарат ном уров не; как показ ы в ает § 4.1, с ред с т в ам и д л я ее реал из ации обл ад ают и проце- д урны е яз ы ки. Т рет ь я концепция — нас л ед ов ание — ус тоял ас ь з начит ел ь ном е- нее перв ы хд в ух. Она с л ужит д в ум ос нов ны м цел ям : обл егчению м од и- фикации т ипов д анны х и опред ел ению нов ы х прав ил с ов м ес т им ос т и при прис в аив ании. Понят но, чтов м ес то из м енения уже с ущес т в ующегот ипа гораз - д опроще с оз д ат ь на егоос нов е нов ы й, д обав ив ил и переопред ел ив не- обход им ы е с в ойс т в а. Е с л и бы не появ л ение з ащищенного уров ня д ос - т упа, э т а з ад ача с ам а пос ебе с тол ь же ус пеш ном огл а бы бы т ь реш ена и пос ред с т в ом ком поз иции, т. е. в кл ючения в нов ы й т ип с с ы л ки на объект с т арого. Од нако и тот, и д ругой с пос об не буд ут э ффект ив но работ ат ь при с охранении с т рогой т ипиз ации, д опус кающей прис в аив ания л иш ь 77