Глава 14. Базовые концепции классов____________________________333
усваиваете предмет теоретически, и только потом сталкиваетесь с ним на практике. Мы пойдем первым путем — однако и теорией пренебрегать тоже не будем.
В предыдущем разделе вы получили представление о том, как классы выглядят снаружи; теперь пришла пора взглянуть на них изнутри. Хотя внутри классов находится множество мелких деталей, в общем тело класса состоит из данных и функций.
Данные. Данные — это то, что класс знает. Данные'и функции классов мы будем называть членами (members). Данные могут быть совершенно любыми; разумеется, это могут быть данные базовых типов, но с тем же успехом они могут быть и данными производных типов, то есть классами, а также структурами, объединениями и перечислениями.
В простейшем случае данные-члены— это • переменные базового типа. Не существует никакого предписанного порядка расположения данных-членов в классе. Синтаксис определения данных-членов в точности совпадает с синтаксисом определения обычных переменных.
В следующем фрагменте:
class INT { •
int j; // простое целое данное-член )
представлен класс с единственным целым данным-членом (это закрытый (private) член. Что это значит, вы узнаете ниже, в разделе "Спецификаторы доступа"). Синтаксис всех данных-членов совершенно стандартен: сначала указывается тип данных, следом — имя переменной.
Итак, классы могут нести в себе какую-либо информацию, образно их можно считать знаниями. Для хранения этих знаний и служат данные-члены.
Замечание
Философски целые можно представлять как класс перечислимых чисел. По большому счету, то же самое можно сказать о любом базовом типе данных — это класс такого типа. Поэтому термины тип и класс отчасти взаимозаменяемы, также как и переменная и объект.
Переменная, как и объект, — это имя некой сущности конкретного типа. С помощью этих терминов мы можем ссылаться на конкретные экземпляры конкретных типов.
!
Методы. Методы — это то, что класс умеет. Данные-члены — это только половина класса. Вторую половину класса образуют функции-члены. Объекты реального мира обычно классифицируются по тому, что они из себя представляют и что могут делать. Моделирование их объектами цифрового мира заключается в представлении их статической стороны посредством