面试题答案
一键面试class MyClass:
def __init__(self):
self.__private_attr = 0
def get_private_attr(self):
return self.__private_attr
def set_private_attr(self, value):
self.__private_attr = value
封装在此类中的作用:
- 数据隐藏:通过将属性设为私有(在Python中通过在属性名前加双下划线实现模拟私有),外部代码无法直接访问和修改该属性,提高了数据的安全性,防止外部程序意外或恶意修改数据。
- 数据一致性:提供公有方法来获取和修改私有属性,在公有方法中可以添加对数据的验证和处理逻辑,确保数据的一致性和完整性。例如在
set_private_attr
方法中可以添加对传入value
的类型或取值范围检查,不符合要求则不修改。