наследование pyasn1 - добавление новых элементов в componentType, унаследованное от родителя - PullRequest
0 голосов
/ 06 апреля 2020

Я использую библиотеку 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]

Спасибо.

...