重构——18自封装字段(Self Encapsulate Field)

简介: 自封装字段(Self Encapsulate Field):你直接访问一个字段,但与字段之间的耦合关系逐渐变得笨拙;为这个字段建立取值/设置函数,并且只以这些函数来访问字段

自封装字段(Self Encapsulate Field)

你直接访问一个字段,但与字段之间的耦合关系逐渐变得笨拙;为这个字段建立取值/设置函数,并且只以这些函数来访问字段

一、动机

如果你想访问超类中的一个字段,却又想在子类中将对这个字段的访问改为一个计算后的值,这就是该用Self Encapsulate Field的时候

二、做法

1、为待封装的字段建立取值/设值函数

2、找出该字段所有的引用点,将它们全部改为调用取值/设值函数

3、将该字段声明为private

4、复查,确保找出所有的引用点

5、编译,测试

目录
相关文章
|
5月前
|
JavaScript
|
JavaScript 编译器 开发者
ts的接口是什么有什么作用
ts的接口是什么有什么作用
365 0
|
存储 JavaScript
【TS】class类和接口
【TS】class类和接口
110 0
|
索引
Ts中string、number和any等类型 不能当做索引用,怎么处理?
Ts中string、number和any等类型 不能当做索引用,怎么处理?
369 0
|
JavaScript 索引
ts扩展类型
接口 interface 含义:是指对协定进行定义的引用类型。其他类型实现接口,以保证它们支持某些操作。接口指定必须由类提供的成员或实现它的其他接口。与类相似,接口可以包含方法、属性、索引器和事件作为成员
ts扩展类型
ts重点学习9-使用类型参数进行约束
ts重点学习9-使用类型参数进行约束
71 0
ts重点学习9-使用类型参数进行约束
ts重点学习75-泛型约束
ts重点学习75-泛型约束
185 0
ts重点学习75-泛型约束
ts重点学习3-泛型约束
ts重点学习3-泛型约束
79 0
ts重点学习3-泛型约束
ts重点学习71-implement语句
ts重点学习71-implement语句
105 0
ts重点学习71-implement语句
ts重点学习66-类中的修饰符
ts重点学习66-类中的修饰符
78 0
ts重点学习66-类中的修饰符