您的位置:首页 > 编程语言 > Python开发

深度学习所需的python-学习笔记9

2017-10-24 19:04 190 查看
继承和多态

继承的意思是是的开发者可以先创建一个较为宽泛的类,再逐步拓展细化成为具体的类,

例如先定义一个“动物“类,再继承得出”哺乳动物“类。

通过继承,让具体的类不仅仅继承了原有类的实例变量和方法,也可以加入自己的实例变量和方法。

这样做可以提高编码效率,是一种很好的编码风格。

概念

如果类Y继承了类X,那么X就称为"超类"或者”基类“,Y叫作”子类“或”派生类“。注意,私有的实例变量和方法才能被子类访问。

创建子类的语法:

class SubClass(BaseClass):
#实例变量
#实例方法继承和派生
class Vehicle:

def __init__(self, name, color):
self.__name = name # __name是Vehicle的私有变量
self.__color = color

def getColor(self):
return self.__color

def setColor(self, color):
self.__color = color

def getName(self):
return self.__name

class Car(Vehicle):

def __init__(self, name, color, model):
# 调用父类构造器,设置车名和颜色
super().__init__(name, color)

# 增加新的变量:model
self.__model = model

def getDescription(self):
return self.getColor() + "色" + self.getName() + self.__model

# 方法getDescrition可以通过继承关系调用getName(), getColor()

c = Car("法拉利", "红", "458")
print(c.getDescription())
print(c.getName()输出结果是
红色法拉利458

法拉利

可以看出,再子类Car中,我们并没有定义getNmae()这个方法,但是仍然可以在类中访问,是因为,该子类继承了基类。

super()这个方法就是用来调用基类方法的,假设我们要从子类中调用基类的方法getcolor(),那么在子类代码中就需要使用

super().getcolor()

与C#,Java这些语言不同,python允许多重继承,也就是可以使用多个基类:
class SubClass(SuperClass1, SuperClass2, ...):
# initializer
# methods
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python