Шаг 70.
Microsoft Visual C++ 2010. Язык С/С++.
Классы в C++. Классы

    На этом шаге мы приведем общие сведения о классах.

    Существуют разработчики классов и пользователи классов (разработчики приложений): если разработчик создает классы, то пользователь манипулирует классами и экземплярами классов.

    Класс - это обыкновенный тип. Если вы программист, то всегда имеете дело с типами и экземплярами, даже если и не используете эту терминологию. Например, вы создаете различные переменные типа int. Можно сказать, что вы фактически создаете различные экземпляры переменных этого типа. Классы обычно более сложны, чем простые типы данных, но они работают тем же способом. Создавая переменные типа заданного класса, вы создаете экземпляры этого класса, а назначая различные значения экземплярам того же типа (как и переменным типа int), вы можете выполнять разные задачи. Поэтому наша цель - научиться пользоваться классами для написания приложений, а создание самих классов оставить их разработчикам.

    Класс - это собрание связанной информации, которая включает в себя и данные, и функции (программы для работы с данными). Эти функции в классах называются методами.

    Класс - это дальнейшее развитие структур: в них тоже объединяются данные разных типов. Это такой же шаблон, под который (как и под структуру) память выделяется только тогда, когда мы создаем "переменную типа этого типа. Вспомним, что если у нас была некая структура А, то чтобы работать с ней, мы создавали экземпляр этой структуры путем объявления А а;, затем уже работали с экземпляром а. Можно сказать, что мы объявляли переменную а типа А.

    Точно так же поступают и для класса: если есть класс А (шаблон, под него память не выделяется), то объявляют переменную а типа А путем объявления А а;, после чего можно работать уже как бы с самим классом, а на самом деле - с его экземпляром а. Как и при использовании структур, к членам класса (данным и методам) можно обращаться по тем же правилам: если объявлено А а;, то обращение к члену класса с именем аа будет записываться как а.аа, а если был объявлен указатель на класс (например, как А* а;), то обращение к члену класса с именем аа будет записываться как а->аа.

    Класс - это конструкция, параметрически определяющая некоторую категорию объектов. Например, может быть класс компьютеров, который объединяет в себе компьютеры разных марок, разных возможностей. Может бы класс столов: столы письменные, обеденные и т. п. Класс столов может делиться на подклассы: столы письменные, которые, в свою очередь, могут д литься на столы письменные дубовые и столы письменные древесноволокнистые и т. д. Мы видим, что классы могут принадлежать некой иерархии классов. В каждом классе определены характеристики тех объектов, которь образуют этот класс.

    В классе также задаются подпрограммы, называемые методами, которые обрабатывают характеристики объектов, принадлежащих данному классу. Пповедение объекта в реальном мире определяется его характеристиками. Изменяя значение характеристик, мы получаем разное поведение объектов. Когда мы создаем экземпляр класса и определяем значения его конкретных характеристик, то получаем конкретный объект.

    В составе класса существует специальный метод (функция), который формирует экземпляр класса. Этот метод носит название конструктора. В противоположность конструктору, существует функция деструктор, которая уничтожает экземпляр класса в памяти, освобождает память, которая может использоваться для других программных целей. А если вспомнить, что память - величина не беспредельная, то становится понятной и роль деструктора.

    На следующем шаге мы рассмотрим принципы построения классов.




Предыдущий шаг Содержание Следующий шаг