Similar presentations:
Лекция 3
1. Классы в C++ в Visual Studio
КЛАССЫ В C++ ВVISUAL STUDIO
2. Введение в ООП и классы
■ Объектно-ориентированное программирование (ООП) - это парадигмапрограммирования, основанная на концепции объектов, которые содержат
данные и методы.
Основные принципы ООП:
■ Инкапсуляция - объединение данных и методов в одном объекте
■ Наследование - создание новых классов на основе существующих
■ Полиморфизм - использование объектов разных классов через общий интерфейс
3. Базовый синтаксис:
Private (приватный)Public (публичный)
Protected (защищенный)
■ Доступ только внутри
класса
■ Доступ из любого места
программы
■ Доступ в классе и
производных классах
■ Защита данных от
некорректного изменения
■ Интерфейс класса методы для
взаимодействия
■ Используется при
наследовании
■ Реализация инкапсуляции
■ Обычно содержат методы,
реже - константы
4. Базовый синтаксис:
5. Private (приватный)
6. Public (публичный)
7. Protected (защищенный)
8. Пример
9. Пример
10. Пример
11. Пример
12. Пример
13. Лабораторная работа 3
"Класс Котик"Условие задачи:
■ Создайте класс Cat, который представляет кота. Кот имеет имя, возраст, цвет и уровень
сытости.
Требования к реализации:
■ Создайте класс Cat с публичными полями: name, age, color
■ Добавьте приватное поле hungerLevel (уровень сытости от 0 до 100)
■ Реализуйте методы:
– meow() - выводит сообщение с именем кота
– eat() - увеличивает уровень сытости на 20
– play() - уменьшает уровень сытости на 10
– displayInfo() - показывает всю информацию о коте
– isHungry() - возвращает true, если уровень сытости меньше 30
■ В функции main() создайте 4-5 кота и продемонстрируйте работу всех методов
14. Лабораторная работа 3
"Банковский счет"Условие задачи:
■
Создайте класс BankAccount для имитации банковского счета.
Требования к реализации:
■
Приватные поля: accountNumber, ownerName, balance, interestRate
■
Публичные методы:
– deposit(amount) - пополнить счет
– withdraw(amount) - снять средства (проверять достаточность)
– calculateInterest() - рассчитать проценты за год
– transfer(targetAccount, amount) - перевод на другой счет
– getAccountInfo() - информация о счете
■
Реализуйте проверки:
– Нельзя снять отрицательную сумму
– Нельзя снять больше, чем на счете
– При переводе оба счета должны существовать
■
Создайте 4-5 счета и продемонстрируйте операции между ними
15. Лабораторная работа 3
"Библиотека книг"Условие задачи:
■ Разработайте систему учета книг в библиотеке с использованием класса Book.
Требования к реализации:
■ Приватные поля: title, author, year, ISBN, isAvailable
■ Статическое поле totalBooks для подсчета всех книг
■ Методы:
– borrowBook() - взять книгу
– returnBook() - вернуть книгу
– getBookAge() - сколько лет книге
– isAntique() - старше 50 лет
■ Создайте массив книг и реализуйте поиск:
– По автору
– По названию
– Доступные книги
16. Лабораторная работа 3
"Игровой персонаж"Условие задачи:
■
Создайте класс GameCharacter для RPG-игры.
Требования к реализации:
■
Приватные поля: name, level, health, maxHealth, experience, attackPower
■
Методы:
– takeDamage(damage) - получить урон
– heal(amount) - восстановить здоровье
– attack(target) - атаковать другого персонажа
– gainExperience(exp) - получить опыт
– levelUp() - повысить уровень
■
Реализуйте механику:
– При достижении 100 опыта - повышение уровня
– При повышении уровня увеличивается maxHealth и attackPower
– Если здоровье ≤ 0 - персонаж умирает
■
Создайте 4-5 персонажа и смоделируйте бой между ними
17. Лабораторная работа 3
"Игровой персонаж"Условие задачи:
■
Создайте класс GameCharacter для RPG-игры.
Требования к реализации:
■
Приватные поля: name, level, health, maxHealth, experience, attackPower
■
Методы:
– takeDamage(damage) - получить урон
– heal(amount) - восстановить здоровье
– attack(target) - атаковать другого персонажа
– gainExperience(exp) - получить опыт
– levelUp() - повысить уровень
■
Реализуйте механику:
– При достижении 100 опыта - повышение уровня
– При повышении уровня увеличивается maxHealth и attackPower
– Если здоровье ≤ 0 - персонаж умирает
■
Создайте 4-5 персонажа и смоделируйте бой между ними
18. Конструкторы (Constructors)
■ Конструктор - специальный метод, который автоматически вызывается присоздании объекта. Он инициализирует поля класса.
Особенности конструкторов:
■ Имя совпадает с именем класса
■ Не имеет возвращаемого типа
■ Может быть перегружен (несколько конструкторов)
■ Вызывается автоматически при создании объекта