Цель работы:
Рассмотрение классов и работа с экземплярами классов;
Рассмотрение основных членов класса;
Получить навыки проектирования простейших классов.
Задание:
• Спроектировать класс согласно варианту индивидуального задания. Для класса использовать отдельный модуль.
• Предусмотреть у класса наличие полей, методов и свойств. Названия членов класса должны быть осмысленны и снабжены комментариями.
• Для всех нетекстовых полей разработать свойства, контролирующие корректность значения (например, оценка – от 0 до 10). Одно из свойств (любое) должно быть только для записи, другое – только для чтения с инициализацией в конструкторе. Поля, связанные со свойствами должны быть инкапсулированы.
• Разработать метод для отображения всех полей класса.
• Добавить статическое поле – количество всех созданных объектов вашего класса. Разработать метод, который выводит на экран это поле.
• Разработать несколько конструкторов класса (не менее 3). Один – без аргументов, с заполнением полей значением по умолчанию, второй – с полным набором аргументов и третий с частичным набором аргументов. Связать конструкторы в цепочку, дабы избежать дублирования кода. Для проверки корректности аргументов в конструкторах использовать свойство.
• Отобразить диаграмму спроектированного класса (автоматическую, в развернутом виде).
• Создать несколько объектов класса. Продемонстрировать использование всех конструкторов.
• Продемонстрировать работу всех методов.
• Продемонстрировать использование всех свойств – для получения и присваивания значения.
• Создать еще одну переменную, присвоив ей один из предыдущих объектов. Продемонстрировать, что две переменные ссылаются на один объект.
Индивидуальное задание
Класс «Автомобиль». Хранить информацию о марке и модели, объеме двигателя, максимальном объеме и наполненности бензобака, о текущей скорости и расходе топлива (л/100 км). Реализоват методы для определения максимального пробега на оставшемся топливе.