kuainiao

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

类的定义

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属性

posted on 2018-07-26 23:25  kuainiao  阅读(150)  评论(0编辑  收藏  举报
View Code