Здравствуйте.
Разбираюсь с наследованием в ООП. Написал код и чувствую, что метод наследования можно переписать грамотнее. Но знаний не хватает. Помогите, пожалуйста.
З.Ы. Можно ли в наследуемом классе указывать не все атрибуты суперкласса?
import math
class Figure():
'''определение параметров фигуры'''
def __init__(self, radius, lenght, height):
self.radius = radius
self.lenght = lenght
self.height = height
class Circle(Figure):
'''рассчет параметров круга'''
def __init__(self, radius, lenght=0):
super().__init__(radius, lenght)
self.pi = math.pi
def areaCircle(self):
"""площадь круга"""
area = self.pi * self.radius ** 2
print(area)
def lenghtCircle(self):
"""длина окружности"""
lenght = 2 * self.pi* self.radius
print(lenght)
class Rectangle(Figure):
"""рассчет параметров прямоугольника"""
def __init__(self, lenght, height, radius = 0):
super().__init__(radius,lenght, height)
def areaRectangle(self):
"""площадь прямоугольника"""
area = self.lenght * self.height
print(area)
def perimeterRectangle(self):
"""периметр прямоугольника"""
perimeter = 2* (self.height+self.lenght)
print(perimeter)
my_rectangle = Rectangle(3,4)
my_rectangle.perimeterRectangle()