Наша задача: понять что такое ООП, зачем оно применяется и попробовать его на питоне. Поэтому вначале читаем общие положения:
https://younglinux.info/oopython/oop.php https://younglinux.info/oopython/objects.php - тут в конце два задания, надо сделать!
https://pythonworld.ru/osnovy/obektno-orientirovannoe-programmirovanie-obshhee-predstavlenie.html
На этом всё. Главное, разобраться с целями и задачами ООП. После чего приступим к детальному изучению его в питоне.
Создать класс Circle, конструктор которого принимает радиус. Класс должен иметь два метода, вычисляющие площадь и длину окружности. Пример вызова класса:
NewCircle = Circle(8)
print(NewCircle.area())
print(NewCircle.perimeter())Создать класс Rectangle, конструктор которого принимает длину и ширину. Класс должен иметь два метода, вычисляющие площадь и периметр прямоугольника.
Создать классы, спецификации которых приведены ниже. Определить конструкторы . Определить дополнительно методы __str__.
Определить дополнительно методы в классе, создающие массив объектов. Задать критерий выбора данных и вывести эти данные на консоль.
Student: id, Фамилия, Имя, Отчество, Дата рождения, Адрес, Телефон, Факультет, Курс, Группа. Создать массив объектов. Вывести: a) список студентов заданного факультета; b) списки студентов для каждого факультета и курса; c) список студентов, родившихся после заданного года; d) список учебной группы.
Customer: id, Фамилия, Имя, Отчество, Адрес, Номер кредитной карточки, Номер банковского счета. Создать массив объектов. Вывести: a) список покупателей в алфавитном порядке; b) список покупателей, у которых номер кредитной карточки находится в заданном интервале.
Patient: id, Фамилия, Имя, Отчество, Адрес, Телефон, Номер ммедицинской карты, Диагноз. Создать массив объектов. Вывести: a) список пациентов, имеющих данный диагноз; b) список пациентов, номер медицинской карты которых находится в за- данном интервале.
Abiturient: id, Фамилия, Имя, Отчество, Адрес, Телефон, Оценки. Создать массив объектов. Вывести: a) список абитуриентов, имеющих неудовлетворительные оценки; b) список абитуриентов, у которых сумма баллов выше заданной; c) выбрать заданное число n абитуриентов, имеющих самую высокую сумму баллов (вывести также полный список абитуриентов, имеющих полупроходную сумму).
Book: id, Название, Автор (ы), Издательство, Год издания, Количество стра- ниц, Цена, Тип переплета. Создать массив объектов. Вывести: a) список книг заданного автора; b) список книг, выпущенных заданным издательством; c) список книг, выпущенных после заданного года.
House: id, Номер квартиры, Площадь, Этаж, Количество комнат, Улица, Тип здания, Срок эксплуатации. Создать массив объектов. Вывести: a) список квартир, имеющих заданное число комнат; b) список квартир, имеющих заданное число комнат и расположенных на этаже, который находится в заданном промежутке; c) список квартир, имеющих площадь, превосходящую заданную.
Phone: id, Фамилия, Имя, Отчество, Адрес, Номер кредитной карточки, Дебет, Кредит, Время городских и междугородных разговоров. Создать массив объектов. Вывести: a) сведения об абонентах, у которых время внутригородских разговоров превышает заданное; b) сведения об абонентах, которые пользовались междугородной связью; c) сведения об абонентах в алфавитном порядке.