Наследование

Классы

Когда мы говорим об объектах, мы говорим, что они являются экземплярами классов. Что это означает? Рассмотрим следующую аналогию. Практически все компьютерные языки имеют стандартные типы данных; например, в C++ есть целый тип int. Мы можем определять переменные таких типов в наших программах:

int day:

int count;

int divisor:

int answer:

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

Класс является описанием совокупности сходных между собой объектов.

 

               
   
 
     

 


Пример понимания класса:

Принц, Стинг, Мадонна относятся к классу рок-музыкантов, однако не существует конкретного человека с именем рок-музыкант. Люди со сходными чертами (свойствами-характеристиками), но уникальными именами являются объектами этого класса. Объект класса часто также называют экземпляром класса.

 

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

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

 

 

           
   
Базовый класс
 
 
 
   
Производные классы

 


Вопросы

1. Языки Pascal, BASIC и С являются________________________ (процедурными) языками, в то время как C++ является__________________________ (объектно-ориентированными) языком.

2. В качестве образца по отношению к объекту выступает:

а) метод;

б) класс;

в) операция;

г) значение.

3. Двумя основными компонентами объекта являются _________ (данные) и функции, которые_____________ (совершают действия над ними).

4. В C++ функцию, входящую в состав класса, называют:

а) функция-член класса;

б) оператор класса;

в) функция класса;

г) метод класса.

5. Защита данных от несанкционированного доступа другими функциями называется_________________ (сокрытием данных).

6. Какие из перечисленных ниже причин являются главными для использо­вания объектно-ориентированных языков?

а) возможность создания собственных типов данных;

б) простота операторов объектно-ориентированных языков по сравнению с процедурными языками;

в) наличие средств для автокоррекции ошибок в объектно-ориентированных языках;

г) объектно-ориентированные программы легче концептуализируются.

7. (Объекты) отображают объекты реального мира точнее, чем функции.

8. Истинно ли утверждение: программа на C++ в целом схожа с программой на С за исключением незначительных различий в кодировании. Ложно: организационные принципы различаются

9. Объединение данных и функций называется_________ _.(Инкапсуляция)

10. Если язык обеспечивает возможность создания пользовательских типов данных, то говорят, что язык называется:

а) наследуемым;

б) инкапсулируемым;

в) перегруженным;

г) расширяемым.

11. Верно или неверно утверждение: двух операторов достаточно, чтобы легко отличить программу на C++ от программы на С. Ложно: большинство строк кода на С++ ничем не отличается от кода на С

12. Возможность выполнения оператором или функцией различных действий в зависимости от типа операндов называется ________ полиморфизмом.

13. Операция, выполняющая заданные действия над пользовательским типом данных, называется:

а) полиморфической;

б) инкапсулированной;

в) классифицированной;

г) перегруженной.

14. Запоминание новых терминов языка C++:

а) является очень важным;

б) можно отложить «на потом»;

в) служит ключом к успеху и процветанию;

г) бессмысленно.

15. Универсальный язык моделирования — это:

а) программа для построения физических моделей;

б) средство визуализации организации программы;

в) результат объединения языков C++ и FORTRAN;

г) вспомогательное средство при разработке программного обеспечения.