Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Лабораторная работа 15






Тема: Объявление класса, создание экземпляра класса

Цель: Приобрести навыки разработки классов

Задание:

Создать класс Student, содержащий следующие поля:

фио – строковой тип;

Возраст – целочисленное поле;

пол – символьный (один символ);

Эти поля сделать приватными, доступными для методов самого класса. Определить конструктор класса, принимающий в качестве параметра значения этих полей.

 

Также приватные поля:

Страна – символьный

Область – символьный

Город - символьный

И открытый (public) метод setAdress(), принимающий и устанавливающий значения этих полей.

 

Теоретическая часть:

Идея ООП заключается в описании задачи на уровне объектов, которые в языке С++ называются классами. Например, класс может описывать объект линию, эллипс, прямоугольник. Но в отличие от структур, которые также могут комплексно описывать свойства каких-либо объектов, между классами возможны взаимодействия, которые выражаются тремя категориями: наследование, полиморфизм и инкапсуляция.

 

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

 

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

 

Инкапсуляция – это способ представления класса в виде «черного ящика». Это значит, что конечному пользователю класса (программисту) доступен лишь определенный набор функций и переменных для работы с классом. Часто ограничение доступа применяется для записи значений в переменные класса через функции, при запрещенном непосредственном доступе к переменным.

 

Класс в языке С++ задается с помощью ключевого слова class, за которым следует его имя и в фигурных скобках {} дается его описание. После определения класса ставится точка с запятой. Ниже приведен пример описания класса для хранения координат графических примитивов:

Пример класса.

Пример реализации класса с определением методов:

 

Необходимо описание класса реализовывать в заголовочных файлах, а определение методов в файлах исходного кода. Для создания нового класса лучше воспользоваться средствами среды раработки.

Работа с мастером классов в Visual Studio:

 

Работа с мастером классов в Qt Creator:

 

 

Лабораторная работа 16

Тема:

Цель:

Задание:

 

Лабораторная работа 17

Тема:

Цель:

Задание:

 

Лабораторная работа 18

Тема:

Цель:

Задание:

 

Лабораторная работа 19

Тема:

Цель:

Задание:

 

Лабораторная работа 20

Тема:

Цель:

Задание:

 


Приложение:

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.