OOP--封装01

三个层次讲封装:

1.数据层:将一些基础数据类型包装成一种自定义数据类型

2.行为层:开放必要的功能,隐藏不必要的过程,细节

3.设计层:分而治之,变则改之,高内聚,低耦合

class Wife:

  def __init__(self,name,age):

    self.name = name    #类就是数据层次的封装

    self.age = age

  @property #创建property对象,只负责拦截读取操作

  def age(self):

    return self.__age

  @age.setter #只负责拦截写入操作

  def age(self,value):

    if 20<=age<=31:

      self.__age = value

    else:

      raise ValueError("年龄不在要求内")

  @property

  def name(self):#只读取

    return self.__name

w01 = Wife("天霸",20)

w02 = Wife("天兵",10)#报错,不符合20<=age<=31 ==>这就是行为层的封装,隐藏不必要的过程细节。让用户只能使用开发的功能

print(w01.age) ==>20  #该处调用age读取方法

w01.age = 30 #该处调用age的写入方法

设计角度:

1.分而治之:--将一个大的需求分解为许多类,每个类处理一个独立的功能

      --拆分好处:便于分工,便于复用,可扩展性强

2.变则疏之:--变化的地方独立封装,避免影响其他类

3.高内聚:--类中各个方法都在完成一项任务(单一职责的类)

4.低耦合:--类与类的关联性与依赖度要低(每个类独立),让一个类的改变,尽可能小的影响其他类

posted @ 2020-12-16 16:17  懒人程序员  阅读(86)  评论(0)    收藏  举报