1.继承
-
面向对象的三大特性:封装、继承、多态
-
继承:如果两个或者两个以上的类有相同的属性和方法,我们可以抽取一个类来,在抽取的类中声明公共的部分,被抽取出来的类叫做父类/基类/跟类,两个或两个以上的类叫做子类/派生类
-
在python中,object类是所有类的父类,如果一个类没有明确的告诉他的父类,则默认父类是object
-
使用继承能够简化代码,提高代码的复用性
2.单继承
-
单继承:只有一个父类,继承父类的方法和属性
-
那么,如何实现单继承呢?在Python中,我们只需要在定义子类的时候,指定父类即可。例如:
父类
class Person(object):
# 方法
def say(self):
print("父类的方法")子类:Boy() 只需要将父类的名称写到子类的后面的小括号中,就可以实现子类对父类的继承
class Boy(Person):
def eat(self):
print("我是子类的方法")创建子类对象
boy = Boy()
子类对象调用父类对象的方法
boy.say()
子类对象调用子类的方法
boy.eat()
-
执行结果
父类的方法
我是子类的方法
3.含构造函数的继承
-
当然,我们可以在子类中重写父类的方法。比如:
父类
class Animal(object):
# 构造函数
def init(self, name, sex):
self.name = name
self.sex = sex# 方法 def eat(self): print("所有动物都有捕获猎物的技能")
子类
class Dog(Animal):
# 构造函数
def init(self, name, sex, tail):
# 第一种方式:子类继承父类的属性
# Animal.init(self, name, sex)# 第二种方式:子类继承父类的属性 super(Dog, self).__init__(name, sex) # 子类定义自己的属性 self.tail = tail # 方法 def say(self): print("汪汪...")
创建子类对象
dog = Dog("牧羊犬", "公", "黑尾巴")
print(dog.name)
print(dog.sex)
print(dog.tail)调用方法
dog.eat()
dog.say() -
执行结果
牧羊犬
公
黑尾巴
所有动物都有捕获猎物的技能
汪汪...
4.总结
-
单继承是Python面向对象编程中的一个重要概念。通过它,我们可以更好地组织和管理代码,让代码更加清晰、易于理解和维护。
-
通过方法的重写,我们还可以在继承的基础上进行创新和定制化开发。这就是Python的魅力所在!