python之面向对象编程的访问限制

#!/home/miao/python python3
# -*- coding: utf-8 -*-

'This is a test of class'


#廖雪峰面向对象编程 中的 访问限制
__author__ = 'miao'



class Student1(object):
    def __init__(self, name, gender):
        self.name = name
        self.__gender = gender
    def get_gender(self):
        return self.__gender
    def set_gender(self,gender):
        if gender =='y' or  gender == 'x':
            self.__gender = gender
        else :
            raise ValueError('bad gender')
#其中双下划线__ 代表 变量为私有变量只能内部进行访问,外部不能访问
#也可以用xxx._Student__name 但是这样可能出错
#可以通过以下方法进行获取变量或者修改 并且可以增加限制条件!


class Student2(object):
    def __init__(self, name,core):
        self.name = name
        self.__gender = core
    def get_core(self):
        return self.__core
    def set_gender(self,core):
        if 0 <= core <= 100 :
            self.__core = core
        else :
            raise ValueError('bad core')

猜你喜欢

转载自www.cnblogs.com/miaorn/p/11627588.html