Смекни!
smekni.com

Разработка корпоративной информационной системы на основе объектно-ориентированного подхода (стр. 11 из 11)

virtual boot Save(void) ;

virtual boot Restore(void) ;

// Два дополнительных метода определяют, прошел ли срок

// депозита и каков процент на этот вклад

bool IsMature(void) const;

float GetInterestRate(void) const;

private :

// Два дополнительных атрибута хранят срок

// депозита и процент на этот вклад

Date maturityDate;

float interestRate;

};

Класс AccountFactory - это пример использования понятия фабрики объектов в языке Си++. Фабрика объектов - это класс, результатом вызова метода которого являются новые объекты другого класса. Хотя непосредственно новые объекты создаются с помощью вызова оператора new, фабрика объектов позволяет инкапсулировать процесс создания объектов разных конкретных классов (CheckingAccount, DepositAccount) в одном статическом методе CreateAccount.

Кроме того, этот класс иллюстрирует статические (static) методы класса. Эти методы не требуют объекта для своего выполнения, Они выполняются от имени класса. Таким образом, класс AccountFactory эмулирует метакласс, поскольку «настоящие» метаклассы отсутствуют в Си++.

//

// Класс AccountFactory используется для создания

// новых счетов

//

class AccountFactory

{

public:

// метод CreateAccount создает новый счет определенного

// типа с начальным вкладом _initialAmount, процентом

//по вкладу _interestRate и сроком _maturityDate.

// Последние два аргумента необязательны и не

// задаются для расчетных счетов

static Account* CreateAccount(Account::AccountType _t,

float _initialAmount,

float _interestRate = 0,

Date _maturityDate e «»);

// Глобальный метод GetNewAccountNumber

// генерирует новые, уникальные номера счетов

static long GetNewAccountNumber(void);

}:


Литература

1. Иванова Г.С. Технология программирования: Учебник для вузов. –2-е изд., степеотип. –М.:Изд-во МГТУ им Н.Э.Баумана, 2003.

2. Корпоративные системы на основе CORBA. Пер. с англ. : Уч.пос. –М.:Издательский дом «Вильямс», 2000.

3. Ларман К. Применение UML и шаблонов проектирования. М.:Издательский дом «Вильямс», 2001.

4. Мацяшек Л.А. Анализ требований и проектирование систем. Разработка информационных систем с использованием UML. Пер. с англ. –М.: Издательский дом «Вильямс», 2002