廖雪峰python教程 面向对象编程之访问限制
https://www.liaoxuefeng.com/wiki/1016959663602400/1017496679217440
练习:
请把下面的Student对象的gender字段对外隐藏起来,用get_gender()和set_gender()代替,并检查参数有效性:
# -*- coding: utf-8 -*-
class Student(object):def __init__(self, name, gender):self.name = nameself.__gender = genderdef get_gender(self):return self.__genderdef set_gender(self, gender):self.__gender=genderreturn None
# 测试:
bart = Student('Bart', 'male')
if bart.get_gender() != 'male':print('测试失败!')
else:bart.set_gender('female')if bart.get_gender() != 'female':print('测试失败!')else:print('测试成功!')