首页 > 其他 > 详细

面向对象3

时间:2020-06-20 19:14:22      阅读:65      评论:0      收藏:0      [点我收藏+]
#:私有属性
#:私有方法
#:共有属性
#:共有方法

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()

面向对象3

原文:https://www.cnblogs.com/yandh/p/13169944.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!