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

Posted woshidaliua

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python基础总结之初步认识---class类的继承(下)。第十五天开始(新手可相互督促相关的知识,希望对你有一定的参考价值。

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

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

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

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

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

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

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

看下笔记中的完整代码:

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

技术图片

 

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

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

我们看下代码:

 1 ‘‘‘实例属性的继承----》子类根据需要,不继承父类的实例属性。怎么不继承父类的实例属性呢?‘‘‘
 2 
 3 class Animal(object):              #父类
 4     def __init__(self,name):       #构造函数的参数
 5         self.name = name           #实例属性
 6 
 7 class Dog(Animal):                        #子类(父类)  表明谁继承了谁的所有属性和方法
 8     def __init__(self,color,age):    #子类构造函数的参数
 9         self.color = color
10         self.age = age
11 
12     def info(self):
13         return 它的毛发是0,今年1岁了.format(self.color,self.age)    #返回结果给调用方   #如果是print输出结果,那么函数会默认返回None值
14 
15 dog = Dog(黑色,5)   #实例化对象,赋值
16 print(dog.info())               #对象调用Dog中的info()方法

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

技术图片

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

 

以上是关于Python基础总结之初步认识---class类的继承(下)。第十五天开始(新手可相互督促的主要内容,如果未能解决你的问题,请参考以下文章

Python基础(十六):函数的初步认识

大数据入门基础系列之初步认识大数据生态系统圈(博主推荐)

C++之初步认识类和对象

C++之初步认识类和对象

C++之初步认识类和对象

一OpenStack入门 之 初步认识