Skip to content

LNUitTutor/ShapesProject

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 

Repository files navigation

Навчальний проєкт "Геометричні фігури"

Містить дві ієрархії класів: плоскі та об'ємні фігури.

Ієрархія плоских фігур

Абстрактний базовий клас задає спільний інтерфейс:

  • усі фігури вміють повідомляти cвою площу методом area()
  • усі фігури вміють повідомляти cвій периметр методом perim()
  • фігури можна порівнювати (за площею)

Конкретні підкласи:

  • Прямокутник (і його підклас Квадрат)
  • Круг
  • Трикутник

Ієрархія об'ємних фігур

Фігура складається з основи (плоскої фігури) та висоти. Фігура вміє повідомляти:

  • об'єм
  • площу основи
  • площу бічної поверхні
  • площу всієї поверхні

Об'ємні фігури можна порівнювати (за їхнім об'ємом).

Абстрактний базовий клас Shape3D Задає структуру, описує спільний протокол як перелік абстрактних методів. Тільки площу основи він уже в стані обчислити. Абстрактні підкласи DirectShape, ConicalShape описують спільні риси прямих і конічних фігур. Наприклад, DirectShape визначає увесь протокол, оголошений у базовому класі. Конкретні підкласи відповідальні за правильне створення екземплярів і виведення. Підкласи ConicalShape визначають методи обчислення бічної поверхні.

Серіалізація

Program.py містить приклади використання модулів pickle, shelve для зберігання та завантаження об'єктів у двійковому форматі. Для перетворення об'єктів до текстового вигляду використано метод __repr__(self), а для відтворення - функцію eval(str).

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages