Лекция 01. Тема Общая характеристика языков программирования высокого уровня


Рисунок 5.2. Схема представления АТД в оперативной памяти


Download 4.1 Mb.
Pdf ko'rish
bet48/57
Sana12.11.2023
Hajmi4.1 Mb.
#1767546
TuriЛекция
1   ...   44   45   46   47   48   49   50   51   ...   57
Bog'liq
Lektsii po YaP Lukinova 2 sem

 


Рисунок 5.2. Схема представления АТД в оперативной памяти
 
Пример 1. 
 
Опишем новый класс – очередь.
 
Class queue {
 
Private :
 
Int q [100] ; // массив (очередь)
 
Int sloc, rloc; // указатели на первый и последний элемент 
очереди
 
Public :
 
Void init (void); { … } // инициализация массива (очереди)
 
Void qput (int m ); { … } // выдача элемента
 
Int qget ( void ); { … } // заполнение массива (очереди) 
 
}
 
main (void) {
 
queue a , b :
 
a . init ( ) ; b . init ( );
 
a . qput ( 7 ) ; b . qput (20 ) ;
 
a . qget () ; b . qget ( ) ;
 
5.3. Наследование 
Во второй половине 1980-х годов для многих разработчиков 
программного обеспечения (ПО) стало очевидным, что одной из наилучших 
возможностей для повышения производительности их труда является 
повторное использование программ. Вполне очевидно, что АТД с их 
инкапсуляцией и 
управлением доступом должны 
использоваться 
многократно. Однако здесь возникали следующие проблемы:
Объект1.данн
ые 
Объект2.данн
ые 
Методы 


1. Свойства и возможности существующих типов не вполне подходят 
для нового использования. Старые типы необходимо, по крайней мере, 
минимально, 
модифицировать. 
Такие 
модификации 
могут 
быть 
трудновыполнимыми и требовать от человека понимания существующего 
кода. 
2. Определения АТД являются независимыми и находятся на одном и 
том же уровне иерархии. Это часто не позволяет структурировать программу 
так, чтобы она соответствовала своей проблемной области. Во многих 
случаях исходная задача содержит категории связанных между собой 
объектов, являющихся как наследниками одних и тех же предков (т.е. 
находящихся на одном и том же уровне иерархии), так и предками и 
наследниками (т.е. состоящих в отношении некоторой субординации друг с 
другом).
Наследование позволяет решить как проблемы модификации, так и 
проблемы организации программ. Если новый абстрактный тип данных 
может наследовать данные и функциональные свойства некоторого 
существующего типа, а также модифицировать некоторые из этих сущностей 
и добавлять новые сущности, то повторное использование значительно 
облегчается без необходимости вносить изменения в повторно используемый 
абстрактный тип данных.
 
Класс, который определяется через наследование от другого класса
называется производным классом, или подклассом, или потомком. Класс, от 
которого производится новый класс, называется родительским классом, или 
суперклассом, или предком.

Download 4.1 Mb.

Do'stlaringiz bilan baham:
1   ...   44   45   46   47   48   49   50   51   ...   57




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling