码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2019-08-08 23:23:36      阅读:98      评论:0      收藏:0      [点我收藏+]

标签:第十五天   none   结果   返回结果   alt   类继承   描述   赋值   代码   

年薪百万的步伐慢了两天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类的继承(下)。第十五天开始(新手可相互督促

标签:第十五天   none   结果   返回结果   alt   类继承   描述   赋值   代码   

原文地址:https://www.cnblogs.com/woshidaliua/p/11324244.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!