面向对象:可以解决更复杂的关系描述,一个对象可以有多个功能
面向过程:一步一步去走,去实施完成,适合一次性的任务。要是要处理复杂并且可重复利用的,就得用面向对象
比如,连接数据库,备份数据库,测试数据库如下图:
面向对象: object oriented programing
下面举例说明类的特性:举例说明公有属性、私有属性、强制访问、安全访问
class Role(object):
def __init__(self,name,role,weapon,life_value=100):
self.name=name
self.role=role
self.weapon=weapon
self.life_value=life_value
self.__heart="die" #私有属性对外部不可见
def policemen(self):
print("%s is policemen",self.name)
def get_heart(self):
return self.__heart
def feitoo(self):
print("%s is feitu",self.role)
def shoot(self):
print(self.name," is shooting",self.__shoot)
def get_shoot(self):
print("%s is get_shooted",self.__heart)
r=Role("xiangxiao","policemen","AK47")
# r.feitoo()
# r.get_shoot()
#print(r.get_heart())
print(r._Role__heart)
上面的例子中了解到:
__init__:表示构造函数
self.name=name:表示属性,或者成员变量
self.__heart=”die”:表示私有属性,只允许内部访问
外部想要直接访问私有属性有2中办法:
1.直接在内部定义一个函数,来返回私有属性:
2.强制访问
3.类的公有属性:定义在类里面的属性,如:nationnality
1.如果想调用一个私有函数的话,就得重新定义一个函数:
上面就是单独写一个shoot2函数,发现r2调用的新定义的函数,r1还调用的原来的函数