Главная » Просмотр файлов » Лекции по информатике

Лекции по информатике (984119), страница 33

Файл №984119 Лекции по информатике (Лекции по информатике) 33 страницаЛекции по информатике (984119) страница 332015-07-19СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 33)

В частности, .к развиваемости относят любые средства расширения языка: процедурность, модульность, наследуемость и об ьектпая ориентация. Последние две фундаментальные концепции нам предстоит еще рассмотреть. Работающая программа это материализованный интсллект и труд высококвалифицированных людей, который не только дорого стоит, но и содержит в себе элемент творчества. Поэтому идеал развиваемости является голубой мечтой программиста. Па заре программирования развиваемость выражалась в библиотеках стандартных программ и средствах модуляризапии. Это были средства заимствования, не защищенные от несанкционированного использования и разрушения. Пример: директива Фтпс1ис1е.

Идеал развиваемости должен гарантировать защиту программых услуг: защиту авторского права разработчика услуг и защиту потребителя от неправильного использования услуг, но не настолько тотальную, чтобы этим всем нельзя было пользоваться. В настоя!цс;е В1хемя 1эазвиваемость считается критичным свойством языке. п1эог1эаммирования, поскольку уже разработано колоссальное количество программных услуг во всех областях человеческой деятельности. Основными аспектами развиваемости являются: ° Модульность. Она обеспечивает развиваемость за счет фиксации сопряжения (интерфейса) между создателем и потребителем услуг. ° Стандартизация.

В дополнение к модульности, устраняет нерациональное разнообразие сопряжений. ° Наследуемость. Подразумевает гибкий аппарат развития, заимствования и защиты, действующий на уровне практически произвольных языковых объектов, а не только на уровне заранее предусмотренных модулей. Такой уровень гибкости позволяет легко приспособить программу к обслуживанию объектов, тип которых неизвестен не только при ес создании,но и при трансляпии (с Гара>нтией статического конт1>оля типОВ). Впервые развитая наследуемость появилась в Симуле-67 в соответствую>цем году, предвосхитив современное понимание идеала.

Итак, модульность обеспечивает упаковку программных услуг в модули-контейнеры, стандартизация доставку упакованных услуг потребителю в работоспособном состоянии, а наследусмость — изготовление контейнера новых услуг с минимальными затратами, с минимальным риском и в рамках законности. Уточним идеал наследуемости с учетом типизации языковых объектов: должно быть дозволено: ° Определятын>вый тип, на,следующий те и только те атрибуты исходного типа, которые желательны. ° Пополнять перечни атрибутов нового типа по сравнению с атрибутами исходного типа (обог>пценис ~~~~~ (возмож>п>сть вводить дополнительные поля при объявлении производного типа) и виртуальные операции, заменив>гцис старые операции при действиях с обогащенных>и значениями, даже в старых программах).

° Парантировать применимость сох|>анясмых опер'щий ~~~~д~~~~ типа к ~б~~~~~~ нового типа. Основные понятия и неформальные аксиомы наследования: ° Основные понятия: — Отношение наследования между родителем и наследником — Атрибуты наследования — Накопление атрибутов у наследника по отношению к родителю — Типы объектов и экземпляры (объектов) определенных типов ° Отношение наследовав>ия определяется:>ля типов, а нс для экземпляров (в живой природе наоборот, индивиды-наследники наследуют свойства индивидов-родителей).

407 е Наследник обладает всеми атрибутами родителей, обратное неверно. ° Право участвовать в операциях о|~рсделенпого класса это атрибут наследования! Таким образом, наследник имеет право замещать родителя в любых таких операциях. Определить этот класс иногда бывает непросто: даже присваивание в неполнообьектпых языках для обогащенных об"ьектов может замещать источник, но не получатель. ° Все экземпляры (объекты) одного типа обладают идентичными атрибутами (но не их значениями!). Следствие: индивидуальные свойства об"ьектов (определяемые, в частности, значениями атрибутов) пе наследуются и гю наследству не передаются. ° Наличие наследников пе влияет на атрибуты родителей. Следствие: свойство иметь наследников не считается атрибутом и, стало быть, пе наследуются. ° Атрибуты могут быть абстрактными (виртуальными), и тем самым требовать конкретизации (настройки на контекст перед использованием или в процессе использования), или конкретными, и тем самым такой настройки не требовать.

° Результат конкретизации абстрактных атрибутов в обшем случае определяется тем контекстом, где объекты создаются. Следствие: поскольку в этот контекст входят не только типы, но и конкретные об ьекты (экземпляры типов), то конкретные значения абстрактных атрибутов могут зависеть от свойств конкретных обьектов контекста, а пе только от их типов. Настройку на контекст естественно вьшолнятыгри создании (инициализации) объектов. Наггример, обьект-очередник при создании гюлучает конкретные значения атрибута, указывающего на стоящего впереди обьекта. ° Накопление в некоторых языках может состоять как из абстрактных, так и (в беднообьектпых языках) из конкретных атрибутов.

Примерами абстрактных атрибутов являются атрибуты-тюля записей и виртуальные операции. Преиму щества развитой наследуемости: ° Гармония открытости и защиты. 1!ринцип защиты авторского права реализуется в естественной гармонии с принципом открытой системы. Пользователь открытой системы не только получает доступ к декларированным возс |ожностям системы, но и может перестраивать систему для своих нужд способом, не предусмотренным явно ее создателем. ° Поддерживаемая технология развития программной системы (пошаговая модификация работающей основы) сгюсобствует оптимизации и структуризации мышления, программирования, памяти.

Более того, можно применить концепцию расслоенного программирования (пошаговое наращивание новых слоев работанпцсй версии программы от минимальной работоспособной основы до цели разветвленной системы услуг). Эта концсггпия отечественного программиста А. Л. Фуксмана, на западе, получила название быстрого прототипирования (гарЫ ргогоГур пф. е Поддерживаемый стиль мьпплсния адекватен естественному развитию от простого к сложному. От общего к частному от елиного корня к разнообразик) в от" личие от классического структурного программирования, подразумевающего лишь пошаговую детализацию сверху вниз.

° Говоря более конкретно, развитое наследование обеспечивает расширяемость объектов, типов и операций с защитой авторского нрава и с гарантией сохранности старых программ. Можно воспользоваться программой, развивать ее, но нельзя украсть секреты фирмы, если они скрыты автором. В заключ<ние подчеркнем существенное отличие изложенного понятия наследования от аналогичного биологического. В последнем случае не только сами типы,но и конкретные экземпляры объектов таких родительских типов, как животнью, кошки, собаки и т.п.

реально существуют лишь как некоторые абстракпии, представленные, например, совокупностью генов или изменчивым набором ныне живущих особей (обладаюьцих, .конечно, неисчислимым множеством свойств никак не охватываемых соответствующим типом).

А в информатике и типы., и экземпляры объектов представлены вполнс рсальными разрядами, записями, фреймами и т.п., с<ютветственно и наследование пока представлено как определение и обработка определений типов, а не как результат жизнед< ятельности объектов. Однако нет оснований полагать, что так будет всегда. Математической моделью идеального наследования является гомоморфизм ~21~. 7.4.2 Построение объектной технологии Активные объекты (данные и процедуры), присутствуя в языках программирования, были лишены существенных прав обычных данных, а обычные данные не имели свойств активных объектов, т.

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

Эта цель оказалась достигнутой на современном этапе развития программирования в рамках объектно-ориентированного программирования [59]. Основными идеями объектно-ориентированного программирования являются: ° Программный модуль является нормальным языковым объектом и имеет вполне определенный тип. ° Активный объект может предоставлять услуги как по извлечению, так и по преобразованию значений собственных атрибутов. ° Активные объекты могут обмениваться сообщениями и самостоятельно реагировать на них как на запросы услуг. Свойства объектой ориентации: ° Новый уровень абстракции. Объектная ориентация выводит на новый уровень абстракции и обновляет фундаментальные концепции языка,: управления, развития, защиты, модульности, динамизма, спепификации, технологии и сближает проблематику языков программирования с такой главой информатики, как искусственный интеллект.

Характеристики

Тип файла
DJVU-файл
Размер
675,15 Kb
Тип материала
Высшее учебное заведение

Список файлов лекций

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6296
Авторов
на СтудИзбе
313
Средний доход
с одного платного файла
Обучение Подробнее