Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Отношения между классами
Большинство ОО языков поддерживают большую часть из указанных ниже отношений между классами: 1. Ассоциация 2. Наследование 3. Агрегация 4. Использование 5. Инициализирование 6. Мета класс 1) Ассоциация – это простейшая связь между классами. Такая связь выделяется на этапе первого анализа и в дальнейшем скорей всего будет уточнена. Class product; Class Sale Class Product{ Public: // Protected: Safe*last sale; }; Class sale{ /… Protected: Product product Sale; }}
Ассоциации характеризуется мощностью связи в данном случае 1 к N; ещё может быть 1к1 и NкN. Мощность определяет количество участников в связи. 2) Наследование При наследовании новый порождённый класс получит данные и поведения от предка, он моет рассматривать данные, заполнять и даже некоторые переопределять поведение полученные от предка. Выделяют одиночное и множественное наследование. В одиночном наследовании в качестве предка может выступать строго один класс иерархии наследований дерево(smalltalk, Paskal, Delphi, C# и т.д.)
В большинстве языков новый пользовательский класс вызова имеют предка. При одиночном наследовании всегда известно имя единственного предка и в языках программирования используется специальная служба слова к доступу к этому предку base…(C#, inherited Delphy) 3) Инстанцирование C++ template< class Item> Class Quene{ public Quene(); Quene(const Quene< Item> &); //копир. Констр. ~Quene(); Void clear(); Void append(class Item&); Void pop(); Void remove(int at); Int length()const; //} Main(){ Тип параметр переменая Quene< int> int Q; Quene< Display Item*> Item Q; Int Q.clear();
STL – библиотека стандартных шаблонов С++
|