class(类的使用说明)

class 的三大特性

封装:内部调用对于外部用户是透明的

继承: 在分类里的属性,方法被自动继承

多态:调用这个功能,可以使多个类同时执行 

r1 = Role(r1, 'Alex', 'Police', '15000') #实际上把r1赋给了self

self.name = 'Alex' # r1.name = 'Alex'

self.role = 'Police' # r1.role = 'Police' 

self.money = 15000 # r1.money = 15000

r1.buy_guy()  # Role.buy_guy(r1)  

第一个例子

class Dog:

      def __init__(self, name):

           self.name = name 

       def bulk(self):

           print(‘%s : wa wa’%self.name) 

dog = Dog('xiaoming')  

dog.bulk()

第二个例子  #建立游戏角色

class Role(object):

    n = 123                 #类变量

    name = 123

    def __init__(self, name, role, weapon, life_value = 100, money = 20000) :

           self.name = name            #实例变量

           self.role = role 

           self.weapon = weapon

           self.__life_value = life_value #函数的私有属性,外部不可以更改,只限于内部调用,可以打印出来

           self.money  = money 

      def __shot(self):   # 私有函数,外部不可调用

           print('shoting') 

       def got_shot(self):

            self.__life_value -= 50

       def buy_gun(self):

             print('%s buy %s'%(self.name, self.weapon)

        def show_status(self):
             print('name : %s weapon : %s life_value %s‘%(self.name, self.weapon, self.__life_value))

r1 = Role('alex', 'Police', 'AK47') # 创建Role的实例

r1.name = 'xiaoming' #更改实例变量的name 

del r1.name #删除实例变量的name 

del r1 #删除实例r1

print(r1.n)  #输出结果123   实例中没有该变量就去找类变量 

print(r1.name)  #输出结果 alex  实例中有该变量就用实例中的变量

r1.got_shot()

r1.show_status()

       

      

          

       

猜你喜欢

转载自www.cnblogs.com/my-love-is-python/p/9093694.html
今日推荐