2018.3.22学习笔记(面向对象)
2018-03-24 17:05 冒牌权限 阅读(83) 评论(0) 收藏 举报类class可以用来封装对象
#!/usr/bin/env python # -*- coding:utf-8 -*- #一个初始化小实验,save类似存档 class fengzhuang: def __init__(self,ren,gong,fang,xue):#封装参数 self.ren = ren self.gong = gong self.fang = fang self.xue = xue def xianshi(self): print('人物:%s'% self.ren) print('攻击力:%d'% self.gong) print('防御力:%d' % self.fang) print('气血:%d' % self.xue) import pickle obj1 = fengzhuang('日天哥',100,100,1000)#即创建对象,又给参数赋值,初始化 pickle.dump(obj1,open('save.log','wb')) save = pickle.load(open('save.log','rb')) if save: save.xianshi() else: obj2 = fengzhuang('傲天哥',99,99,999) obj2.xianshi() pickle.dump(obj2, open('save.log', 'wb'))
继承
#!/usr/bin/env python # -*- coding:utf-8 -*- class Animals:#父类也叫基类 def chi(self): print(self.name + '吃') def he(self): print(self.name + '喝') def xiangtong(self):#测试基类和派生类具有相同方法时的情况 print('相同方法,基类') class Cat(Animals):#继承,子类也叫派生类 def __init__(self,name): self.name = name def jiao(self): print('喵') def xiangtong(self):#测试基类和派生类具有相同方法时的情况 print('相同方法,派生类') class Dog(Animals):#继承,子类也叫派生类 def __init__(self,name): self.name = name def jiao(self): print('汪') wumiaowang = Cat('呜喵王') xiaobai = Dog('小白') xiaobai.chi() xiaobai.jiao() wumiaowang.he() wumiaowang.xiangtong()#可以看到优先派生类
高级继承,python可以同时继承多个类(python独有,Java/C#等语言无法同时继承多各类)
#!/usr/bin/env python # -*- coding:utf-8 -*- class fat1:#基类一 def func(self): print('基类一') class fat2:#基类二 def func(self): print('基类二') class paisheng(fat1,fat2):#高级继承,同时继承多个基类 def func_ps(self): pass obj = paisheng() obj.func()#可以看到两个基类都具有func方法,优先级为左到右


浙公网安备 33010602011771号