本文实例讲述了Python面向对象程序设计之私有属性及私有方法。分享给大家供大家参考,具体如下:
如果有一个对象,当需要对其进行修改属性时,有2种方法:
(1)对象名.属性名=数据---->直接修改
(2)对象名.方法名()----->间接修改
为了更好的保障属性安全,不能随意修改,一般处理方式为:
(1)将属性定义为私有属性
(2)添加一个可以调用的方法,供调用,也就是间接调用属性
首先我讲解下私有属性的例子:
1.下面这个是一个错误的例子:
class People(object):
def __init__(self,name):
self.__name=name
def getName(self):
return self.__name
def setName(self,newName):
if len(newName) >= 5:
self.__name = newName
else:
print("error:名字长度需要大于或者等于5")
xiaoming = People("monkey")
print(xiaoming.__name)
这是错误的,因为直接输出了私有的属性,是不可以的,解决方式为:或者删掉object也行
class People(object):
def __init__(self,name):
self.__name=name
def getName(self):
return self.__name
def setName(self,newName):
if len(newName) >= 5:
self.__name = newName
else:
print("error:名字长度需要大于或者等于5")
xiaoming = People("monkey")
print(xiaoming.getName()) #这样就是通过调用方法来间接调用属性
下面讲解一个私有方法的例子:
class Dog:
#私有方法,在方法名前面加上两个下划线
def __test1(self):
print("1")
def test2(self):
print("2")
dog=Dog()
dog.__test1() #报错
dog.test2() #正确
私有方法是不能直接调用的
更多关于Python相关内容感兴趣的读者可查看本站专题:《Python面向对象程序设计入门与进阶教程》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python编码操作技巧总结》及《Python入门与进阶经典教程》
希望本文所述对大家Python程序设计有所帮助。
您可能感兴趣的文章:Python 类的私有属性和私有方法实例分析Python面向对象程序设计中类的定义、实例化、封装及私有变量/方法详解跟老齐学Python之私有函数和专有方法实例讲解Python中的私有属性python直接访问私有属性的简单方法Python 私有函数的实例详解浅谈Python中的私有变量python里运用私有属性和方法总结Python可变和不可变、类的私有属性实例分析Python 私有化操作实例分析Python面向对象之私有属性和私有方法应用案例分析