【发布时间】:2017-09-28 05:12:40
【问题描述】:
我正在阅读这篇article 为何getter 和setters 是邪恶的。文章并没有说不要永远使用它们,而是告诉你以一种限制使用这些方法的方式思考,或者引用文章:
不要要求你提供工作所需的信息;问对象 具有为您完成工作的信息。
当您需要在 GUI 中显示数据但没有 getter 方法时会发生什么?本文简要介绍了这一点,但并不完整。它提到将 JComponent 传递给类,但如果您是 GUI 更改,它可能会导致大量工作需要修复。
例如,您有一个 Book 类(限制此示例以保持其可读性)。
public final class Book {
private String title;
//Authors is class with the attributes authorFirstname, authorLastname
private List<Author> listofAuthors;
public Book(String title, List<Author> listofAuthors)
{
//initialization
}
//other methods that do work
}
如果我有一个 GUI,其中有一个 JTextField 来显示书名和一个 JTable 来显示作者列表,我将如何编写我的方法来为我“完成工作”并显示结果?这是需要getter 的时候吗?
【问题讨论】:
-
你想达到什么目的?
标签: java oop methods encapsulation getter