- 封装的设计要求:合理隐藏、合理暴露
 
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[i].getId() == id) {
                System.out.println("名称:" + movies[i].getName() + "\n" +
                        		   "价格:" + movies[i].getPrice());
            }
        }
    }
}