Язык программирования C++ для профессионалов



   Самая детальная информация окна в рассрочку на нашем сайте.          

Что представляют классы?


По сути в системе бывают классы двух видов:

  1. классы, которые прямо отражают понятия области приложения, т.е. понятия, которые использует конечный пользователь для описания своих задач и возможных решений; и
  2. классы, которые являются продуктом самой реализации, т.е. отражают понятия, используемые разработчиками и программистами для описания способов реализации.

Некоторые из классов, являющихся продуктами реализации, могут представлять и понятия реального мира. Например, программные и аппаратные ресурсы системы являются хорошими кандидатами на роль классов, представляющих область приложения. Это отражает тот факт, что систему можно рассматривать с нескольких точек зрения, и то, что с одной является деталью реализации, с другой может быть понятием области приложения. Хорошо спроектированная система должна содержать классы, которые дают возможность рассматривать систему с логически разных точек зрения. Приведем пример:

  1. классы, представляющие пользовательские понятия (например, легковые машины и грузовики),
  2. классы, представляющие обобщения пользовательских понятий (движущиеся средства),
  3. классы, представляющие аппаратные ресурсы (например, класс управления памятью),
  4. классы, представляющие системные ресурсы (например, выходные потоки),
  5. классы, используемые для реализации других классов (например, списки, очереди, блокировщики) и
  6. встроенные типы данных и структуры управления.

В больших системах очень трудно сохранять логическое разделение типов различных классов и поддерживать такое разделение между различными уровнями абстракции. В приведенном выше перечислении представлены три уровня абстракции:

  • [1+2] представляет пользовательское отражение системы,
  • [3+4] представляет машину, на которой будет работать система,
  • [5+6] представляет низкоуровневое (со стороны языка программирования) отражение реализации.

Чем больше система, тем большее число уровней абстракции необходимо для ее описания, и тем труднее определять и поддерживать эти уровни абстракции. Отметим, что таким уровням абстракции есть прямое соответствие в природе и в различных построениях человеческого интеллекта. Например, можно рассматривать дом как объект, состоящий из

  1. атомов,
  2. молекул,
  3. досок и кирпичей,
  4. полов, потолков и стен;
  5. комнат.




Содержание  Назад  Вперед