Python继承是指子类继承父类的属性和方法,可以在不影响父类功能的情况下,对子类进行扩展。Python中使用关键字class
定义类,使用extends
关键字来继承父类。下面演示一个简单的继承示例:
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def show_info(self):
print(f"Name: {self.name}\nAge: {self.age}")
class Student(Person):
def __init__(self, name, age, grade):
super().__init__(name, age)
self.grade = grade
def show_info(self):
super().show_info()
print(f"Grade: {self.grade}")
student1 = Student("Tom", 18, "Grade 1")
student1.show_info()
在上述代码中,Person
是父类,Student
是子类。子类Student
继承了父类Person
的属性和方法。
重写是指在子类中重写父类方法,可以修改父类方法的实现,实现自己的功能。如果在子类中发现的方法名与父类方法名一样,那么子类中的方法将覆盖父类中的方法。下面演示一个简单的重写示例:
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def show_info(self):
print(f"Name: {self.name}\nAge: {self.age}")
class Student(Person):
def __init__(self, name, age, grade):
super().__init__(name, age)
self.grade = grade
def show_info(self):
print(f"Student's grade is {self.grade}")
student1 = Student("Tom", 18, "Grade 1")
student1.show_info()
在上述代码中,我们重写了父类Person
的show_info()
方法,子类Student
中的show_info()
方法将会覆盖父类的show_info()
方法,并且输出的内容也不同。
super()调用父类方法是指在子类中调用父类的方法,可以继承父类的功能,并增加自己的功能。使用super()
方法可以直接调用父类的方法,而不需要指定父类的名称。下面演示一个简单的super()
调用父类方法示例:
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def show_info(self):
print(f"Name: {self.name}\nAge: {self.age}")
class Student(Person):
def __init__(self, name, age, grade):
super().__init__(name, age)
self.grade = grade
def show_info(self):
super().show_info()
print(f"Grade: {self.grade}")
student1 = Student("Tom", 18, "Grade 1")
student1.show_info()
在上述代码中,我们使用了super()
方法来调用Person
类中的show_info()
方法,从而可以得到父类中的信息,同时输出子类独有的信息。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python 继承,重写,super()调用父类方法操作示例 - Python技术站