类的定义
class Test(object):
def __init__(self, name)
self.name=name
class定义类的关键字
Test是类名
Test后面括号的object是继承的类,没有继承的类就继承object类,所有类都继承object
__init__函数是构造函数,函数后面第一个参数一定要填self代表类类本身,后面的参数的用户初始化时候传入的参数
class Animal(object): def __init__(self): self.name='animal' def run(self): print("animal run") def eat(self): print("animal eat") def getname(self): print(self.name) class bird(Animal): def eat(self): print("bird eat") class cat(Animal): def eat(self): print("cat eat") def eat(a): a.eat() if __name__ == '__main__': b = bird() b.getname() b.run() b.eat() eat(b) c = cat() c.getname() c.run() c.eat() eat(c)
animal
animal runbird eatbird eatanimalanimal runcat eatcat eat
继承:
bird继承Animal,就继承了Animal的run和eat办法,同类cat类一样
什么是多态?
概念:同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果,这就是多态性。简单的说:就是用基类的引用指向子类的对象。
实例中eat办法的参数a根据传入的类型不同调用该类型的办法,多态实现了接口的复用,运行时候根据类型觉得调用
封装:就是类的数据的值读取和修改要通过类的函数修改,实例中的b.getname()就是通过封装的办法读取name属性