From c80bb35d21ad2a79b0939e97f34fbd94fa0333f2 Mon Sep 17 00:00:00 2001 From: sjsdfg <736777445@qq.com> Date: Sat, 7 Sep 2019 10:13:46 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E8=B6=85=E7=B1=BB->=E7=88=B6=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/notes/19. 要么设计继承并提供文档说明,要么禁用继承.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/notes/19. 要么设计继承并提供文档说明,要么禁用继承.md b/docs/notes/19. 要么设计继承并提供文档说明,要么禁用继承.md index 2289f47..739448b 100644 --- a/docs/notes/19. 要么设计继承并提供文档说明,要么禁用继承.md +++ b/docs/notes/19. 要么设计继承并提供文档说明,要么禁用继承.md @@ -120,7 +120,7 @@ public final class Sub extends Super {   你可以机械地消除类的自我使用的重写方法,而不会改变其行为。 将每个可重写的方法的主体移动到一个私有的“帮助器方法”,并让每个可重写的方法调用其私有的帮助器方法。 然后用直接调用可重写方法的专用帮助器方法来替换每个自用的可重写方法。 -  简而言之,专门为了继承而设计类是一件很辛苦的工作。你必须建立文档说明其所有的自用模式,并且一旦建立了文档,在这个类的整个生命周期中都必须遵守。如果没有做到,子类就会依赖超类的实现细节,如果超类的实现发生了变化,它就有可能遭到破坏。为了允许其他人能编写出高效的子类,还你必须导出一个或者多个受保护的方法。除非知道真正需要子类,否则最好通过将类声明为 `final`,或者确保没有可访问的构造器来禁止类被继承。 +  简而言之,专门为了继承而设计类是一件很辛苦的工作。你必须建立文档说明其所有的自用模式,并且一旦建立了文档,在这个类的整个生命周期中都必须遵守。如果没有做到,子类就会依赖父类的实现细节,如果父类的实现发生了变化,它就有可能遭到破坏。为了允许其他人能编写出高效的子类,还你必须导出一个或者多个受保护的方法。除非知道真正需要子类,否则最好通过将类声明为 `final`,或者确保没有可访问的构造器来禁止类被继承。