#:私有属性
#:私有方法
#:共有属性
#:共有方法
class Persion:
def __init__(self,name,age,rmb):
#:这里的属性叫做共有属性
self.name = name
self.age = age
self.rmb = rmb
p = Persion("杨洋",21,3000)
print(p.rmb) #:可以看到,我可以访问共有属性的值
:但如果我不想让共有属性被访问该怎么办 ??
:私有属性
class Persion:
def __init__(self,name,age,rmb):
self.name = name
self.age = age
self.__rmb = rmb #:加了"__"就使共有属性变成了私有属性
p = Persion("杨洋",21,3000)
print(p.__rmb) #:私有属性不可以被外部直接拿来访问
:可以使用这种方式进行访问
class Persion:
def __init__(self,name,age,rmb):
self.name = name
self.age = age
self.__rmb = rmb
def getrmb(self): #:添加一个共有方法 #:共有方法可以访问私有变量
print(self.__rmb)
p = Persion("杨洋",21,3000)
p.getrmb() #:在通过外部的方法 来访问私有的属性
:这样访问私有属性还是有点不安全,我来加一些限制来保证私有属性的安全性
class Persion:
def __init__(self,name,age,rmb):
self.name = name
self.age = age
self.__rmb = rmb
def getrmb(self):
Choise = input("请输入密码>>>")
if Choise == "123": #:添加了if判断 来确保私有变量的安全性
print(self.__rmb)
else:
print("密码错误!")
p = Persion("杨洋",21,3000)
p.getrmb()
:刚刚是查询操作,这次在加一个修改操作
class Persion:
def __init__(self,name,age,rmb):
self.name = name
self.age = age
self.__rmb = rmb
def getrmb(self):
Choise = input("请输入密码>>>")
if Choise == "123":
print(self.__rmb)
else:
print("密码错误!")
def sedrmb(self,rmb): #:创建了一个共有方法,用来修改私有属性
self.__rmb = rmb
p = Persion("杨洋",21,3000)
p.sedrmb(1000)
p.getrmb()
:在玩出一点花样
class Persion:
def __init__(self,name,age,rmb):
self.name = name
self.age = age
self.__rmb = rmb
def getrmb(self):
Choise = input("请输入密码>>>")
if Choise == "123":
print(self.__rmb)
else:
print("密码错误!")
def sedrmb(self,rmb): #:此时的rmb == rmb_1
self.__rmb = rmb #:将rmb值修改为rmb_1的值
def input(self): #:在创建一个方法用来记录我要修改的值
rmb_1 = input("请输入你要修改的金额>>>>>")
self.sedrmb(rmb_1) #:将我输入的值传入到方法"sedrmb"中
p = Persion("杨洋",21,3000)
p.input()
p.getrmb()
原文:https://www.cnblogs.com/yandh/p/13169944.html