Я использую библиотеку pasn1 и хочу создать две последовательности, в которых большинство их элементов одинаковы, например:
class Circle(univ.Sequence):
componentType = namedTypes(
namedtype.NamedType(‘perimeter’, univ.Integer()),
namedtype.NamedType(‘area’, univ.Integer()),
namedtype.NamedType(‘radius’, univ.Integer())
)
class Rectangle(univ.Sequence):
componentType = namedTypes(
namedtype.NamedType(‘perimeter’, univ.Integer()),
namedtype.NamedType(‘area’, univ.Integer()),
namedtype.NamedType(‘width’, univ.Integer())
namedtype.NamedType(‘height’, univ.Integer())
)
Чтобы не дублировать элементы, я хотел бы создать родительский класс Shape и наследовать из него:
class Shape(univ.Sequence):
componentType = namedTypes(
namedtype.NamedType(‘perimeter’, univ.Integer()),
namedtype.NamedType(‘area’, univ.Integer()),
)
Как мне расширить componentType of Shape с радиусом без дублирования кода?
class Circle(Shape):
componentType = [extend componentType of Shape by adding radius]
Спасибо.