Python基础总结之初步认识---class类的继承(下)。第十五天开始(新手可相互督促

年薪百万的步伐慢了两天hhhh严格意义是三天。最近买了新的玩具,在家玩玩玩!~~~~

今天开始正式认识类的继承。类的继承是怎么继承呢?看下代码:

 class Animal(object):              #父类
def __init__(self,name): #构造函数的参数
self.name = name #实例属性 class Dog(Animal): #子类(父类) 表明谁继承了谁的所有属性和方法
    pass

在上面的代码中,父类的名字是:Animal   子类的名字是:Dog    我们不难发现,这行代码就是在说明,Dog这个子类将要继承Animal父类的所有类属性以及实例属性和方法。

那么问题来了,怎么表示要继承父类的实例属性呢?

  Animal.__init__(self,name)         #前面是父类名字,然后点,然后就是构造函数的部分,记住没有def和冒号了。

记住哦,要写在子类的构造函数的代码块中,因为继承的是父类的构造函数中的实例属性。要分清楚实例属性和类属性是两码事儿

看下笔记中的完整代码:

 class Animal(object):              #父类
def __init__(self,name): #构造函数的参数
self.name = name #实例属性 class Dog(Animal): #子类(父类) 表明谁继承了谁的所有类属性和方法还有实例属性
def __init__(self,name,color,age): #子类构造函数的参数
Animal.__init__(self,name) #继承父类Animal中的实例属性name,
self.color = color
self.age = age def info(self):
return '它是一只{0},它的毛发是{1},今年{2}岁了'.format(self.name,self.color.self.age) #返回结果给调用方 #如果是print输出结果,那么函数会默认返回None值 dog = Dog('小狗','黑色','') #实例化对象,赋值
print(dog.info()) #对象调用Dog中的info()方法

Python基础总结之初步认识---class类的继承(下)。第十五天开始(新手可相互督促

相信如果你看了我所有的文字描述,应该能理解是怎么回事儿了。

那么子类继承父类的所有类属性和实例属性以及方法后,是必要要全部都用上吗?当然不是,继承的目的是(类的继承可以看成对类的属性和方法的重用,能够大大的减少代码量-----来自梁雪峰老师的笔记哦)所以说继承是为了方便我们用父类的功能代码,这样我们可以少些一部分代码,从而就是可以选择行的使用我们需要的部分啦

我们看下代码:

 '''实例属性的继承----》子类根据需要,不继承父类的实例属性。怎么不继承父类的实例属性呢?'''

 class Animal(object):              #父类
def __init__(self,name): #构造函数的参数
self.name = name #实例属性 class Dog(Animal): #子类(父类) 表明谁继承了谁的所有属性和方法
def __init__(self,color,age): #子类构造函数的参数
self.color = color
self.age = age def info(self):
return '它的毛发是{0},今年{1}岁了'.format(self.color,self.age) #返回结果给调用方 #如果是print输出结果,那么函数会默认返回None值 dog = Dog('黑色',5) #实例化对象,赋值
print(dog.info()) #对象调用Dog中的info()方法

根据这个代码和上个案例的代码对比发现,虽然子类都继承了父类。但是第二个完整的代码案例中只是表明了我要继承的父类对象是谁,并没有用父类中的任何属性或者方法哦。代码依然是可以执行的,我们看下结果:

Python基础总结之初步认识---class类的继承(下)。第十五天开始(新手可相互督促

这两个小的案例笔记,消化一下,明天开始继续新的学习笔记~~~~20万的梦想,晚安

上一篇:【坚持】Selenium+Python学习记录 DAY8


下一篇:javascript类式继承模式#1——默认模式