封装(Encapsulation)是面向对象编程(OOP)的四大基本特性之一,其他三个是继承、多态和抽象。封装是指将数据(属性)和操作数据的方法(函数)结合在一个类中,从而隐藏对象的内部实现细节,只暴露必要的接口给外部使用。

封装的建立方法主要包括以下几个步骤:

  1. 定义类: 首先,需要定义一个类,类中包含属性(变量)和方法(函数)。

```python class MyClass: def init(self, x): self.x = x # 属性

def get_x(self):  # 方法
    return self.x

`` 2. 私有属性: 在Python中,可以通过在属性名前加两个下划线(__`)来表示该属性为私有。这样,Python解释器会对其进行名称改写(name mangling),使其在类的外部更难直接访问。

```python class MyClass: def init(self, x): self.__x = x # 私有属性

def get_x(self):  # 方法
    return self.__x

``` 3. 公有方法: 提供公有的方法来访问和修改私有属性。这些方法可以控制对属性的访问和修改,从而实现封装。

```python class MyClass: def init(self, x): self.__x = x # 私有属性

def get_x(self):  # 公有方法
    return self.__x

def set_x(self, value):  # 公有方法
    if isinstance(value, int) and value >= 0:
        self.__x = value
    else:
        print("Invalid value")

``` 4. 使用类: 创建类的实例,并通过公有方法访问和修改属性。

```python obj = MyClass(10) print(obj.get_x()) # 输出:10

obj.set_x(20) print(obj.get_x()) # 输出:20 ``` 通过以上步骤,我们成功地将数据和操作数据的方法封装在一个类中,并隐藏了对象的内部实现细节。这样,外部代码只能通过提供的接口与对象进行交互,而不能直接访问对象的内部状态。