Python面向对象编程之类的继承
什么是类和对象
在Python中,我们可以通过定义类(class)和创建对象(object)来完成面向对象的编程。类是一种抽象的概念,它是对具有相同属性和方法的对象进行封装和抽象后得到的结果。对象则是类的一个具体实例,有着自己的属性和方法。
什么是继承
继承是指在现有的类的基础上创建新的类,新的类拥有原有类的属性和方法。子类(新的类)可以重写父类(原有类)的方法,或者新增自己的方法和属性。
继承的基本语法
继承的基本语法为:
class ChildClass(ParentClass):
pass
其中,ChildClass是子类名,ParentClass是父类名,pass表示空语句块。子类中的代码可以重写父类中的方法,或者新增自己的方法和属性。
继承的示例说明一
假设我们有两个类,一个是学生类(Student),一个是教师类(Teacher),它们都有一个共同的属性:姓名(name),但是它们的方法不同。我们可以通过继承,创建一个人员类(Person)来共用这个属性,然后学生和教师类分别继承人员类即可。
class Person:
def __init__(self, name):
self.name = name
class Student(Person):
def __init__(self, name, grade):
super().__init__(name)
self.grade = grade
def study(self):
print('{} is studying in grade {}.'.format(self.name, self.grade))
class Teacher(Person):
def __init__(self, name, department):
super().__init__(name)
self.department = department
def teach(self):
print('{} is teaching in department {}.'.format(self.name, self.department))
在这个示例中,学生类和教师类都继承了人员类,人员类拥有姓名属性。学生类新增了年级属性和学习方法,教师类新增了部门属性和教学方法。
继承的示例说明二
假设我们有一个鸟类(Bird)的基类,它有一个飞行方法(fly)。然后我们有一种鸟叫做鸽子(Pigeon),它继承了鸟类的基类并新增了自己的方法:叫声(coo)。
class Bird:
def fly(self):
print('The bird is flying.')
class Pigeon(Bird):
def coo(self):
print('Coo, coo...')
在这个示例中,鸽子类继承了鸟类,和鸟类拥有相同的飞行方法,同时新增了自己的叫声方法。
总结
Python的面向对象编程之类的继承,在继承后的子类中,可以拥有父类的属性和方法,并且可以重写父类的方法,或者新增自己的方法和属性。在实际开发中,正确使用继承可以提高代码的复用性和可维护性。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python面向对象编程之类的继承 - Python技术站