一、封装
对外面隐藏对象的属性和方法,仅提供接口。
二、继承
继承就是说定义的一个新类,继承现有的类,获得现有类的非私有属性、方法。
私有,就是前面加两个下划线的(int)这种,他在外部无法调用,继承他的子类也不能。被继承的那个类称为基类、父类。
特点:在继承中,基类的构造方法(init()方法)不会被自动调用,需要在子类的构造方法中专门调用。在调用基类的方法时需要加上基类的类名前缀,并带上self参数变量。区别于在类中调用普通函数时不需要带self参数。
多继承的一个实例:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
class Father(object):
def __init__(self,money):
self.money = money
def play(self):
print("play")
def func(self):
print("func1")
class Mother(object):
def __init__(self,facevalue):
self.facevalue = facevalue
def eat(self):
print("eat")
def func(self):
print("func2")
class Children(Father,Mother):
def __init__(self,money,facevalue):
# 多继承时调用父类的属性
Father.__init__(self,money)
Mother.__init__(self,facevalue)
def main():
c = Children(300,100)
print(c.money,c.facevalue)
c.play()
c.eat()
# 注意:如果多个父类中有相同的方法名,默认调用括号中前面的类
c.func()
if __name__ == "__main__":
main()
三、多态
当两个类呈现继承关系时,如果父类和子类都有相同的方法名时,调用子类时,子类的方法会覆盖父类的方法,这样我们就可以同时使用多个同名方法,加号就是最简单的一个多态,对数字时:1+2=3,而在对字符串是’a’+‘b’=‘ab’。