类的定义
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 run
bird eat
bird eat
animal
animal run
cat eat
cat eat
继承:
bird继承Animal,就继承了Animal的run和eat办法,同类cat类一样
什么是多态?
概念:同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果,这就是多态性。简单的说:就是用基类的引用指向子类的对象。
实例中eat办法的参数a根据传入的类型不同调用该类型的办法,多态实现了接口的复用,运行时候根据类型觉得调用
封装:就是类的数据的值读取和修改要通过类的函数修改,实例中的b.getname()就是通过封装的办法读取name属性