游康 发表于 7 天前

Java学习:工具类、构造器、实体类使用场景


[*]封装的设计要求:合理隐藏、合理暴露


[*]合理隐藏:创建成员变量时,使用private修饰
private int id; // 电影编号

[*]合理暴露:创建成员方法时,使用public修饰的get方法和set方法合理暴露
public void setId(int id) {
this.id = id;
}
[*]实体类


[*]要求1:成员变量全部私有,并提供public修饰的getter/setter方法
[*]要求2:类中需要一个无参构造器,有参数构造器可选
[*]实体类的对象只负责数据存取,而对数据的业务处理交给其他类的对象完成,以实现数据和数据业务处理相分离。
// 电影信息.class
public class MoviesInformation {
    private int id; // 电影编号
    private String name;    // 电影名称

    // 1. 初始化:构造器在对象创建时进行必要的初始化
    // (1)无参构造函数:必须包含
    public MoviesInformation() {}

    // (2)有参构造函数:需要初始化才使用
    public MoviesInformation(int id, String name) {
      this.id = id;
      this.name = name;
    }

    // 2. getter/setter方法用于在对象创建后修改属性。
    public int getId() { return id; }
    public void setId(int id) { this.id = id; }
    public String getName() { return name; }
    public void setName(String name) { this.name = name; }
}
[*]工具类:没有创建对象的需求,建议将工具类的构造器进行私有,用于封装通用功能
// 工具类.class
public class MoviesOperator {
    private MoviesInformation[] movies;// 电影信息
    public MoviesOperator(MoviesInformation[] movies) {
      this.movies = movies;
    }
    public void searchMovieById(int id) {
      System.out.println("=====当前电影信息=====");
      for (int i = 0; i < movies.length; i++) {
            if (movies.getId() == id) {
                System.out.println("名称:" + movies.getName() + "\n" +
                                           "价格:" + movies.getPrice());
            }
      }
    }
}
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: Java学习:工具类、构造器、实体类使用场景