学习博客:http://www.cnblogs.com/linhaifeng/articles/6182264.html
本节内容:
面向对象编程介绍
为什么要用面向对象进行开发?
面向对象的特性:封装、继承、多态
类、方法、
引子
你现在是一家游戏公司的开发人员,现在需要你开发一款叫做<人狗大战>的游戏,你就思考呀,人狗作战,那至少需要2个角色,一个是人, 一个是狗,且人和狗都有不同的技能,比如人拿棍打狗, 狗可以咬人,怎么描述这种不同的角色和他们的功能呢?
你搜罗了自己掌握的所有技能,写出了下面的代码来描述这两个角色
1 def person(name,age,sex,job): 2 data = { 3 'name':name, 4 'age':age, 5 'sex':sex, 6 'job':job 7 } 8 9 return data 10 11 def dog(name,dog_type): 12 data = { 13 'name':name, 14 'type':dog_type 15 } 16 return data
上面两个方法相当于造了两个模子,游戏开始,你得生成一个人和狗的实际对象吧,怎么生成呢?
1 d1 = dog("李磊","京巴") 2 3 p1 = person("严帅",36,"F","运维") 4 5 p2 = person("林海峰",27,"F","Teacher")
两个角色对象生成了,狗和人还有不同的功能呀,狗会咬人,人会打狗,对不对? 怎么实现呢,。。想到了, 可以每个功能再写一个函数,想执行哪个功能,直接 调用 就可以了,对不?
1 def bark(d): 2 print("dog %s:wang.wang..wang..."%d['name']) 3 4 5 def walk(p): 6 print("person %s is walking..." %p['name'])<br><br>