5_Классы и структуры
Урок 5 : Классы и структуры
О чём этот урок
Классы и структуры - основа объектно-ориентированного программирования. Здесь практикуется создание типов, инкапсуляция, конструкторы и наследование.
Теория
Вопросы для самопроверки
- Что такое класс? От чего наследуется, каким типом данных является?
- Что такое структура? Каковы основные отличия от класса?
- Что такое поля (
fields) класса? Какова рекомендация по инкапсуляции полей? - Что такое конструктор класса? Что такое деструктор класса? Приведите примеры их использования.
- Что такое модификаторы доступа? Перечислите основные и кратко объясните их назначение.
- Для чего используется ключевое слово
this? Для чего используетсяthisв параметрах метода? *Как модификаторstaticвлияет на класс и метод?*Что такое наследование и для чего используется?*Для чего используется ключевое словоbase? Чемoverrideотличается отnewпри переопределении метода?**Что такое инкапсуляция?
Практика
Как выполнять задания
Откройте файл Lesson5.cs для выполнения заданий. Результат выводить в строку консоли.
Дополнительные классы рекомендуется создавать в директории NewClasses/.
Задания
Задание 1.
Создайте статический класс с методами для работы со списками:
- сортировка списка по возрастанию;
- сортировка списка по убыванию;
- вывод всех элементов в консоль.
Задание 2.
Создайте структуру для хранения комплексного числа.
Задание 3.
* Реализуйте в этой структуре методы сложения, вычитания и умножения.
Задание 4.
* Переопределите операторы +, -, * и переопределите метод сравнения Equals.
Задание 5.
** Создайте класс Person с полями name, age, gender, work:
workдолжно быть структурой, содержащей поляroleиcompany;genderдолжен бытьenum.
Personдолжен содержать свойства для всех полей и иметь переопределённые методыToStringиEquals.
Создайте несколько персон с разными параметрами и запишите их в список. Реализуйте последовательный вывод информации о каждой персоне в консоль через вызов методаPrintData(): currentPerson.PrintData()