Turtle=Animal("Turtle")
Turtle.set_category("reptile")
和
class Turtle(Animal):
category="reptile"
在 Python 中学习对象组合时,我遇到了一个问题,后者有效,但前者无效。
这是一堂课
class Animal:
name = ""
category = ""
def __init__(self, name):
self.name = name
def set_category(self, category):
self.category = category
答案 0 :(得分:1)
这两个序列的行为应该相同:
turtle=Animal("Turtle")
turtle.set_category("reptile")
和
class Turtle(Animal):
category="reptile"
name = "Turtle"
turtle = Turtle()
两个 turtle
对象的行为相同。
答案 1 :(得分:0)
在第一段代码中,您定义了存储在 Animal
变量中的 Turtle
类的实例,而在第二段代码中,您定义了一个名为 {{1} } 将从 Turtle
类继承。
在此处阅读有关类对象的更多信息:https://docs.python.org/3/tutorial/classes.html#class-objects
在此处阅读有关类继承的更多信息:https://docs.python.org/3/tutorial/classes.html#inheritance