使用多重继承时引用基类属性

乔乔
class Shape:
 def __init__(self,center,name):
    self.__name = name
    self.center = center

 def getName(self):
    return self.__name

 def __add__(self,otherShape):
    return Shape(name = self.__name, center = self.center + otherShape.center)


class Size:
 def __init__(self,surface,magnitude):
    self.surface = surface
    self.magnitude = magnitude

 def __eq__(self, otherSize):
    try:
        a = self.magnitude == otherSize.magnitude and self.surface == otherSize.surface
    except:
        print('Wrong type of atributes')
    return a 

class Dreieck(Size,Shape):
 def __init__(self,center,name,surface,magnitude,a,b,c):
    Shape.__init__(self,center,name)
    Size.__init__(self,surface,magnitude)
    Dreieck.a = a
    Dreieck.b = b
    Dreieck.c = c
 def pitagoras(self):
    if self.a+self.b==self.c and self.a**2 + self.b**2 == self.c**2:
        return True
    else:
        return False

 def __add__(self,otherDreieck):
    return Dreieck(self.center, self.__name, self.surface, self.magnitude,self.a+otherDreieck.a, self.b+otherDreieck.b, self.c+otherDreieck.b)

我正在用Python做一个简单的多重继承示例,但找不到通过添加两个类的对象Dreieck得到一个的原因AttributeError 'Dreieck' object has no attribute 'name'我想这是因为name属性是私有的,但是我想我是在这里继承的:

Shape.__init__(self,center,name)
马蒂诺

在班级本身之外,私人名称被篡改。请参阅私有变量和类局部引用

您可以通过在代码中使用错误的名称来解决此问题。换句话说,尝试将其引用为self._Shape__name

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用多重继承获取某些父类属性值

来自分类Dev

从基类继承的基类属性

来自分类Dev

python multiprocessing:使用多重处理时某些类属性会丢失

来自分类Dev

静态类属性的继承

来自分类Dev

`NotRegistered`使用多重继承时的异常

来自分类Dev

如何继承类属性Python

来自分类Dev

如何继承基类属性并在JavaScript中调用基类构造函数?

来自分类Dev

使用多重继承来满足抽象基类

来自分类Dev

实例化子类C#时更新基类属性

来自分类Dev

在加载对象/创建对象时设置基类属性值

来自分类Dev

为什么在使用多重继承时使用不同的`this`地址

来自分类Dev

使用类的多重继承

来自分类Dev

在Python 2.7中使用变量引用类属性

来自分类Dev

Python-自动更新继承的类中的基类属性(别名)

来自分类Dev

引用继承的属性/变量时,使用this.X和base.X的行为有何不同?

来自分类Dev

使用继承时,需要对象引用才能访问非静态字段,成员或属性

来自分类Dev

Java中需要多重继承时使用哪种设计模式

来自分类Dev

对OnMethodBoundaryAspect中的类属性的引用

来自分类Dev

Swift自引用类属性

来自分类Dev

在 for 循环中引用类属性

来自分类Dev

Python:在基类中使用派生类属性

来自分类Dev

EF:使用流畅的API映射基类属性

来自分类Dev

在基类构造函数中使用派生类属性

来自分类Dev

使用属性装饰器时类属性未更新

来自分类Dev

覆盖基类属性的读写

来自分类Dev

类属性未扩展为继承的类型

来自分类Dev

继承最终的抽象类属性

来自分类Dev

vb.net类属性是继承的吗?

来自分类Dev

多态性继承的类属性