类和对象组合的问题
我在学习小甲鱼老师类和对象课程中的组合时,如何访问到类(通过组合方式编写)中的属性,我的代码如下class Turtle:
a = 'This is Turtle'
def say(self):
print('Turtle says something')
class Dog:
b = 'This is Dog'
def say(self):
print('Dog says something')
class Garden:
t = Turtle()
d = Dog()
def say(self):
self.t.say()
self.d.say()
g = Garden()
如果我想通过Garden类实例化对象g访问到Turtle类中的a属性及Dog类中的b属性该如何操作?
我尝试了g.a或者g.b,系统均报错,提示对象没有相关属性(AttributeError: 'Garden' object has no attribute 'a').
烦请各位大佬指点,谢谢!
你需要通过组合类的实例来访问其属性。具体来说,你可以通过Garden类中的Turtle和Dog实例来访问它们的属性。代码如下:
class Turtle:
a = 'This is Turtle'
def say(self):
print('Turtle says something')
class Dog:
b = 'This is Dog'
def say(self):
print('Dog says something')
class Garden:
t = Turtle()
d = Dog()
def say(self):
self.t.say()
self.d.say()
g = Garden()
print(g.t.a)# Access Turtle's attribute 'a'
print(g.d.b)# Access Dog's attribute 'b'
你可以这样访问到Turtle类中的属性以及Dog类中的属性:
print(g.t.a)# 输出:This is Turtle
print(g.d.b)# 输出:This is Dog
这样,就可以成功访问到组合类中实例的属性。希望这个回答对你有帮助!
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
页:
[1]