Наследование
Классы
Когда мы говорим об объектах, мы говорим, что они являются экземплярами классов. Что это означает? Рассмотрим следующую аналогию. Практически все компьютерные языки имеют стандартные типы данных; например, в 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;
г) вспомогательное средство при разработке программного обеспечения.