python定义类的特性,引出面向对象

面向对象:可以解决更复杂的关系描述,一个对象可以有多个功能

面向过程:一步一步去走,去实施完成,适合一次性的任务。要是要处理复杂并且可重复利用的,就得用面向对象

比如,连接数据库,备份数据库,测试数据库如下图:

面向对象: 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还调用的原来的函数

原文地址:https://www.cnblogs.com/pythonbz/p/6286800.html