基于面向对象的数据封装

基于面向对象的数据封装

1 基于面向对象的数据封装优点

  • 将属性和方法放到一起做为一个整体,然后通过实例化对象来处理;
  • 隐藏内部实现细节,只需要和对象及其属性和方法交互就可以了;
  • 对类的属性和方法增加 访问权限控制。

2 示例

class BaseResponse(object):
    def __init__(self, status=True, data=None, error=None):
        self.status = status
        self.data = data
        self.error = error
    @property
    def dict(self):
        return self.__dict__

def test(request):
    result = BaseResponse()
    nid = request.GET.get('id')
    if nid == "10":
        result.data = "ok"
    else:
        result.error = "error"
        result.status = False
    return JsonResponse(result.dict)

def test2(request):
    result = BaseResponse()
    nid = request.GET.get('id')
    if nid == "10":
        result.data = "ok"
    else:
        result.error = "error"
        result.status = False
    # 若没有@property装饰器的方法,需要使用以下方式调用
    return JsonResponse(result.__dict__)
posted @ 2023-07-30 22:57  f_carey  阅读(8)  评论(0编辑  收藏  举报