在内部 class 安全实践中访问外部 class variable/member?
Accessing outer class variable/member in inner class safe practice?
例如,在java中,我在外部class和内部class中声明并初始化了一个JButton,我决定在某些情况下隐藏它,这是一个安全编程实践?
inner classes 的全部目的是他们有 access 外部 class 环绕 内部 class。
所以一般的答案是:您只是在使用 Java 语言提供给您的概念。从那时起 - 当然,去争取吧。
但除此之外,请牢记 SOLID 原则,例如 单一职责原则 。意思是:当内部 class 有充分的理由使用外部事物(完成它的 "job" )时 - 那么是的,去做吧。
那么:在某种程度上,这是一道风格题。内部 classes 在 Java 的早期是 "famous",例如实现特定的侦听器接口。现在它们是 "less common" - 许多人更喜欢 "one class per file" 并尽量避免嵌套 classes。
你看,一个内部 class直接耦合到它的外部class,所以你降低了你重新-使用那个内部部分。所以你应该只对真正概念上属于"into"你那个外部class.
的东西使用内部classes
换句话说:
- 不要仅仅因为可以使用某个概念,而是因为使用这个概念可以让您"best"实现特定要求
- 这里没有人可以告诉您 "works" 适合您的项目。确保在人们认同的风格上与您的同行保持一致,并使用它。
例如,在java中,我在外部class和内部class中声明并初始化了一个JButton,我决定在某些情况下隐藏它,这是一个安全编程实践?
inner classes 的全部目的是他们有 access 外部 class 环绕 内部 class。
所以一般的答案是:您只是在使用 Java 语言提供给您的概念。从那时起 - 当然,去争取吧。
但除此之外,请牢记 SOLID 原则,例如 单一职责原则 。意思是:当内部 class 有充分的理由使用外部事物(完成它的 "job" )时 - 那么是的,去做吧。
那么:在某种程度上,这是一道风格题。内部 classes 在 Java 的早期是 "famous",例如实现特定的侦听器接口。现在它们是 "less common" - 许多人更喜欢 "one class per file" 并尽量避免嵌套 classes。
你看,一个内部 class直接耦合到它的外部class,所以你降低了你重新-使用那个内部部分。所以你应该只对真正概念上属于"into"你那个外部class.
的东西使用内部classes换句话说:
- 不要仅仅因为可以使用某个概念,而是因为使用这个概念可以让您"best"实现特定要求
- 这里没有人可以告诉您 "works" 适合您的项目。确保在人们认同的风格上与您的同行保持一致,并使用它。