python面向对象中对私有方法的操作--》两种方法

class Person:
    def __init__(self):
        self.name = "yiming"
        self.__age = 0

    # 第一种方法set和get方法
    def getAge(self):
        return self.__age

    def setAge(self, age):
        if (age > 20) & (age < 50):
            self.__age = age
        else:
            self.__age = -1

    def show(self):
        print("name:%s,age:%d" % (self.name, self.__age))


# 操作私有属性的第一种方式
xiaoBoss = Person()
xiaoBoss.name = "HanMeiMei"
xiaoBoss.setAge(18)
xiaoBoss.show()


class Students:
    def __init__(self):
        self.name = "yiming"
        self.__age = 0

    # 第二种方法property方法
    @property
    def age(self):
        return self.__age

    @age.setter
    def age(self, age):
        if (age > 16) & (age < 28):
            self.__age = age
        else:
            self.__age = -1

    def show(self):
        print("name:%s,age:%d" % (self.name, self.__age))


xiaoHong = Students()
xiaoHong.name = "xiaohong"
xiaoHong.age = 15
xiaoHong.show()

猜你喜欢

转载自blog.csdn.net/qq_42336700/article/details/81348850
今日推荐