python学习之继承特性

python学习之继承特性

概念

继承特性,面向对象的三大特征之一。通过继承从其它类获取属性和方法

继承特性

# 一个类中有方法重复,但又不能实现全部功能
# 通过定义class 类名(父类):继承父类的所有属性和方法
class People:
    def __init__(self,name,age):
        self.name = name
        self.age = age
    def say_hello(self):
        print('大家好!我的名字叫:',self.name,'我今年',self.age,'岁了。')

wzs = People('wzs',23)
wzs.say_hello()

# Man类继承父类People的属性和方法,减少代码重复性
# 子类的代码可以单独设置
class Man(People):
    pass

a = Man('chuck',30)
a.say_hello()

# 如果定义类名时没有定义父类,默认父类为object
# issubclass检查一个类是否是另外一个类的子类
print(issubclass (Man,object))

方法重写

在子类中有和父类同名的方法,通过子类创建对象会使用子类的方法
在子类定义__init__()方法覆盖父类的属性。

属性的重写

# 父类的方法都会被继承包括特殊方法__init__()
# 1.子类可以重写__init__方法进行属性的重写
# 2.扩展父类的属性。
# super()方法调用父类的init
class Animal():
    def __init__(self,name) :
        self.name = name
        

class Dog(Animal):
    def __init__(self,name,weight):
        # super()可以用来获取当前类的父类
        super().__init__(name)
        self.weight = weight

d = Dog('小白',18)
print(d.name)
print(d.weight)
posted @ 2021-10-27 15:38  骑着蜗牛路过你的风景  阅读(79)  评论(0编辑  收藏  举报