Python学习:面向对象编程2
在上一篇面向对象编程(OOP)的冒险中,我们已经探索了类和对象的神秘森林,继承的古老城堡,以及多态的魔法市集。现在,让我们继续我们的旅程,去发现封装的隐秘花园和特殊方法的神秘力量。
4. 封装
封装是OOP中的一个核心概念,它就像是给数据和方法穿上了一件隐身斗篷,让它们只能通过特定的接口(即方法)被外界访问和修改。封装的目的是保护数据的完整性,防止外部代码直接访问和修改内部数据。
私有属性:
在Python中,我们可以通过在属性名前加上两个下划线__
来定义私有属性。虽然这并不是真正的私有,因为Python中没有真正的私有属性,但这是一种约定,表明这些属性不应该被外部直接访问。
class SecretAgent:
def __init__(self, name, code_name):
self.__name = name
self.__code_name = code_name
def get_name(self):
return self.__name
def set_name(self, name):
self.__name = name
def get_code_name(self):
return self.__code_name
def set_code_name(self, code_name):
self.__code_name = code_name
# 创建对象
agent = SecretAgent("Kimi", "007")
# 访问私有属性
print(agent.get_name()) # 输出:Kimi
print(agent.get_code_name()) # 输出:007
# 修改私有属性
agent.set_name("Moonshot")
agent.set_code_name("008")
print(agent.get_name()) # 输出:Moonshot
print(agent.get_code_name()) # 输出:008
在这个例子中,__n