欢迎访问宙启技术站
智能推送

Python中User()类的继承和多态性介绍

发布时间:2023-12-24 17:01:23

在Python中,可以通过继承来创建一个新的类,并且从父类中继承属性和方法。这种继承关系可以帮助我们实现代码的复用,并且可以通过多态性来实现不同对象之间的统一调用。

在Python中,可以使用以下语法来创建一个继承自User()类的新类:

class NewUser(User):
    def __init__(self, name, age):
        super().__init__(name)
        self.age = age

在这个例子中,NewUser类继承自User类,并且在自己的构造函数中调用了User类的构造函数。这样,NewUser类就具有了User类的所有属性和方法,同时可以定义自己的新属性和方法。

下面是一个完整的例子来说明继承和多态性的使用:

class User:
    def __init__(self, name):
        self.name = name

    def introduce(self):
        print("My name is", self.name)


class NewUser(User):
    def __init__(self, name, age):
        super().__init__(name)
        self.age = age

    def introduce(self):
        print("Hi, I'm", self.name, "and I'm", self.age, "years old")


def main():
    user1 = User("Alice")
    user1.introduce()  # 输出 "My name is Alice"

    user2 = NewUser("Bob", 25)
    user2.introduce()  # 输出 "Hi, I'm Bob and I'm 25 years old"


if __name__ == "__main__":
    main()

在这个例子中,我们定义了一个User类,它有一个构造函数和一个introduce方法。然后我们定义了一个NewUser类,它继承自User类,有自己的构造函数和introduce方法。在main函数中,我们创建了一个User对象和一个NewUser对象,通过调用它们的introduce方法来查看结果。

当我们调用user1.introduce()时,输出结果是"My name is Alice"。这是因为user1是一个User对象,它调用了User类的introduce方法。

当我们调用user2.introduce()时,输出结果是"Hi, I'm Bob and I'm 25 years old"。这是因为user2是一个NewUser对象,它继承自User类,但是它重写了父类的introduce方法,所以调用的是NewUser类的introduce方法。

这就是多态性的体现,不同的对象可以调用相同的方法,但是执行的是不同的代码。这种特性可以简化代码的编写和维护,同时增加了代码的灵活性和可扩展性。

在实际的应用中,我们可以根据具体的需求来定义不同的类和方法,通过继承和多态性来实现代码的复用和统一调用。这样可以提高代码的可读性和可维护性,同时也符合面向对象编程的思想。