学习博客: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
View Code

上面两个方法相当于造了两个模子,游戏开始,你得生成一个人和狗的实际对象吧,怎么生成呢?

1 d1 = dog("李磊","京巴")
2  
3 p1 = person("严帅",36,"F","运维")
4  
5 p2 = person("林海峰",27,"F","Teacher")
View Code

两个角色对象生成了,狗和人还有不同的功能呀,狗会咬人,人会打狗,对不对? 怎么实现呢,。。想到了, 可以每个功能再写一个函数,想执行哪个功能,直接 调用 就可以了,对不?

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>
View Code

相关文章: