Логическая модель: структуры классов и структуры объектов
Физическая модель: архитектура модулей и архитектура процессов
Модели объектно-ориентированного
проектирования
#include “x.h”
void main()
{
int i=g();
X x;
i = x.f();
}
x.h
x.cpp
main.cpp
main.exe
x.obj
Характеристики: связность модуля, сцепление модулей
Связь
Агрегация
class Face: public Circle
{
int _eyeColor;
public:
// замещение метода
void Show();
// переопределение метода
void Move(int x, int y) {/*…*/}
// добавление метода
virtual void CloseEyes();
};
int main()
{
Face face;
face.Show(); // вызывается также
// Circle::Show()
}
В С++ уточнение реализовано для
конструкторов и деструкторов
class LinkedList : public IList
{
private:
Element* _head;
public:
void add(string& item)
{… Element * p = new Element(item) … }
void remove(string& item) {… delete p; …}
void insertAt(int index, string& item) { … }
}
спецификация
реализация
class LinkedList : public IList
{
private:
Element* _head;
public:
void add(string& item)
{… Element * p = new Element(item) … }
void remove(string& item) {… delete p; …}
void insertAt(int index, string& item) { … }
}
class Product
{
public:
Product() {}
}
class Factory
{
public:
Product Create()
{
return Product();
}
}
namespace P1
{
class С1 {}
namespace P2
{
class C1 {}
}
}
int main()
{
P1::C1 x1;
P1::P2::C1 x2;
}
Рисунки из
Rumbaugh J., Jacobson I., Booch G. The Unified Modeling Language Reference Manual. – 2nd ed. Addison-Wesley. 2005
Figure 9-2. Classifiers
Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:
Email: Нажмите что бы посмотреть