на начало
На главную страницу
Форум   

Статья :: Проектирование инкапсуляции


Проектирование инкапсуляции

В данной реализации класса Broker (Брокер) все списки представлены в виде массивов. Поскольку такая реализация может не быть (и на самом деле не будет) сохранена в последующих версиях, мы не станем рассматривать функции работы с массивами или обращаться к элементам с помощью индексов. Мы реализуем общедоступные свойства NumberUnits и NumberReservations, чтобы обеспечить доступ для просмотра частных переменных nextUnit и nextReservat ion.

_property int get_NumberUnits()
{
return nextUnit;
}
_property int get_NumberReservations()
{
return nextReservation;
}

Представление простых полей Reservationld, Unit Id, Date (Дата) и NumberDays класса Reservation (Резервирование) не меняется, следовательно, мы не будем инкапсулировать эти поля. Потом, если потребуется, мы можем реализовать некоторые из этих полей как свойства, не изменяя при этом коа клиента. Однако в данный момент, и в дальнейшем, мы просто будем использовать общедоступные поля.

public _gc _abstract class Reservation
// сборщик мусора - абстрактный класс Резервирование
{
public:
int Reservationld;
int Unitld;
DateTirie Date; // Дата
int NumberDays;
static private int nextReservationld = 1;
Reservation() // Резервирование
{
Reservationld = nextReservation!d++;
}
};


Проектирование инкапсуляции

страницы в данном разделе 
Глава 4. Объектно-ориентированное программирование на управляемом C++ Объектно-ориентированное программирование на управляемом C++
Обзор основных понятий объектно-ориентированного программирования Объекты
Классы Полиморфизм
Проект: "Бюро путешествий Acme" Проектирование абстракций
Логика базовых классов Проектирование инкапсуляции
Наследование в управляемом C++ Основные принципы наследования
Реализация примера "Бюро путешествий Acme" Запуск программы примера
Класс HotelReservation Класс HotelBroker
Класс Customers (Клиенты) Пространство имен
Класс TestHotel Резюме


Содержание сайта (выборка)
Apache
Протоколы TCP/IP (принципы, протоколы и архитектура)



PHP, PELR, JSP
PHP
JavaServer Pages (JSP)

Базы данных
Основы mysql
СУБД INFORMIX
СУБД POSTGRES
Основы проектирования реляционных баз данных

HTML, javascript
Спецификация HTML 4.01
Каскадные Таблицы Стилей, Уровень 2
Клиентский JavaScript. Справочник.
JavaScript руководство пользователя
Серверный JavaScript 1.4. Руководство по Использованию.

Паскаль, C, C++, C#
GCC (примеры)
FAQ Валентинa Озеровa DELPHI
C



 
© faq.pp.ru, справочник программиста