В настоящее время я пытаюсь создать класс с целью быстрого создания объекта VPython и добавления дополнительных значений к объекту. VPython автоматически создает объект с такими значениями, как позиция и размеры. Однако я также хочу добавить такие переменные, как физические свойства материала и импульс. Так вот мое решение:VPython Inheritance
class Bsphere(physicsobject):
def build(self):
sphere(pos=ObjPosition, radius=Rad,color=color.red)
С physicsobject ищет что-то вроде этого:
class physicsobject:
def __init__(self):
self.momentum=Momentum
По сути, я хочу, чтобы это все еще сохраняют первоначальные свойства сферы VPython (объекта) при добавлении новых переменных. Это на самом деле работает первоначально, объект визуализирует и добавляет переменные. Но теперь я не могу изменить объект VPython. Если я печатаю:
Sphereobj.pos=(1,2,3)
Позиция будет обновляться в качестве переменного, однако, VPython не обновлять обработанный объект. Теперь существует разрыв между объектом и визуализированным объектом. Есть ли способ наследовать аспекты рендеринга объекта VPython при создании нового объекта? Я не могу просто использовать
class Bsphere(sphere(pos=ObjPosition, radius=Rad,color=color.red)):
self.momentum=Momentum
и документации по VPython немного нет.
Спасибо, похоже, сейчас работает. – user1453064
Я бы порекомендовал вам пройти учебник из [learnpythonthehardway] (http://learnpythonthehardway.org/book/ex44.html) о наследовании, в частности переопределяя. Концепции очень важны для понимания и помогут вам избежать ошибок позже. – nqngo