zoukankan      html  css  js  c++  java
  • 面向对象编程-私有属性和私有方法

    1.私有属性

     1 #!/usr/bin/env python
     2 # -*- coding:utf-8 -*-
     3 # Author:James Tao
     4 class Role(object):#执行时之后就存在内存里
     5 
     6     #构造函数
     7     #作用:在实例化时做一些类的初始化工作,开辟一块内存
     8     def __init__(self,name,role,weapon,life_value=100,money=15000):
     9         self.name=name #实例变量(静态属性),作用域是实例本身,保存在实例的内存里
    10         self.role=role
    11         self.weapon=weapon
    12         self.__life_value=life_value #两个下划线,定义私有属性
    13         self.money=money
    14 
    15     #析构函数
    16     #作用:在实例释放、销毁的时候执行,通常用于一些收尾工作,例如,关闭一些数据库连接,打开的临时文件
    17     def __del__(self):#在实例释放的时候自动执行
    18         print('%s彻底死了' % self.name)
    19 
    20     def show_status(self):#私有属性在内部可以访问和修改
    21         print('''name:{_name} weapon:{_weapon} life_value:{_life_value}'''
    22               .format(_name=self.name,_weapon=self.weapon,_life_value=self.__life_value))
    23 
    24     def change_life_value(self):#私有属性在内部可以访问和修改
    25         self.__life_value=self.__life_value-10
    26 
    27     def shot(self):#类的方法,功能(动态属性)
    28         print('%s is shooting...' % self.name)
    29 
    30     def got_shot(self):
    31         print('%s is getting shot...' % self.name)
    32 
    33     def buy_gun(self,gun_name):
    34         print('%s has bought %s' % (self.name,gun_name))
    35 
    36 role1=Role('Trump1','terrorist','AWM')
    37 #print(role1.__life_value) #私有属性在外部不可以访问和修改
    38 role1.change_life_value()
    39 role1.show_status()

    结果:

    2.私有方法

     1 #!/usr/bin/env python
     2 # -*- coding:utf-8 -*-
     3 # Author:James Tao
     4 #!/usr/bin/env python
     5 # -*- coding:utf-8 -*-
     6 # Author:James Tao
     7 class Role(object):#执行时之后就存在内存里
     8 
     9     #构造函数
    10     #作用:在实例化时做一些类的初始化工作,开辟一块内存
    11     def __init__(self,name,role,weapon,life_value=100,money=15000):
    12         self.name=name #实例变量(静态属性),作用域是实例本身,保存在实例的内存里
    13         self.role=role
    14         self.weapon=weapon
    15         self.__life_value=life_value #两个下划线,定义私有属性
    16         self.money=money
    17 
    18     #析构函数
    19     #作用:在实例释放、销毁的时候执行,通常用于一些收尾工作,例如,关闭一些数据库连接,打开的临时文件
    20     def __del__(self):#在实例释放的时候自动执行
    21         print('%s彻底死了' % self.name)
    22 
    23     def shot(self):#类的方法,功能(动态属性)
    24         print('%s is shooting...' % self.name)
    25 
    26     def __got_shot(self):#加两个下划线,定义私有方法
    27         print('%s is getting shot...' % self.name)
    28 
    29     def buy_gun(self,gun_name):
    30         print('%s has bought %s' % (self.name,gun_name))
    31 
    32 role1=Role('Trump1','terrorist','AWM')
    33 #role1.__got_shot() #私有方法在外部无法访问
  • 相关阅读:
    关于大型网站技术演进的思考(六)--存储的瓶颈(6)
    关于大型网站技术演进的思考(五)--存储的瓶颈(5)
    关于大型网站技术演进的思考(四)--存储的瓶颈(4)
    关于大型网站技术演进的思考(三)--存储的瓶颈(3)
    关于大型网站技术演进的思考(二)--存储的瓶颈(2)
    关于大型网站技术演进的思考(一)--存储的瓶颈(1)
    web前端工程师在移动互联网时代里的地位问题
    javascript技术难点(三)之this、new、apply和call详解
    谈谈javascript语法里一些难点问题(二)
    C#并行编程-Task
  • 原文地址:https://www.cnblogs.com/BIT-taozhen/p/10127894.html
Copyright © 2011-2022 走看看