找回密码
 立即注册
首页 资源区 代码 Java学习:工具类、构造器、实体类使用场景 ...

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

游康 4 天前

  • 封装的设计要求:合理隐藏、合理暴露


  • 合理隐藏:创建成员变量时,使用private修饰
  1. private int id; // 电影编号
复制代码

  • 合理暴露:创建成员方法时,使用public修饰的get方法和set方法合理暴露
  1. public void setId(int id) {
  2.   this.id = id;
  3. }
复制代码

  • 实体类


  • 要求1:成员变量全部私有,并提供public修饰的getter/setter方法
  • 要求2:类中需要一个无参构造器,有参数构造器可选
  • 实体类的对象只负责数据存取,而对数据的业务处理交给其他类的对象完成,以实现数据和数据业务处理相分离。
  1. // 电影信息.class
  2. public class MoviesInformation {
  3.     private int id; // 电影编号
  4.     private String name;    // 电影名称
  5.     // 1. 初始化:构造器在对象创建时进行必要的初始化
  6.     // (1)无参构造函数:必须包含
  7.     public MoviesInformation() {}
  8.     // (2)有参构造函数:需要初始化才使用
  9.     public MoviesInformation(int id, String name) {
  10.         this.id = id;
  11.         this.name = name;
  12.     }
  13.     // 2. getter/setter方法用于在对象创建后修改属性。
  14.     public int getId() { return id; }
  15.     public void setId(int id) { this.id = id; }
  16.     public String getName() { return name; }
  17.     public void setName(String name) { this.name = name; }
  18. }
复制代码

  • 工具类:没有创建对象的需求,建议将工具类的构造器进行私有,用于封装通用功能
  1. // 工具类.class
  2. public class MoviesOperator {
  3.     private MoviesInformation[] movies;  // 电影信息
  4.     public MoviesOperator(MoviesInformation[] movies) {
  5.       this.movies = movies;
  6.     }
  7.     public void searchMovieById(int id) {
  8.         System.out.println("=====当前电影信息=====");
  9.         for (int i = 0; i < movies.length; i++) {
  10.             if (movies[i].getId() == id) {
  11.                 System.out.println("名称:" + movies[i].getName() + "\n" +
  12.                                            "价格:" + movies[i].getPrice());
  13.             }
  14.         }
  15.     }
  16. }
复制代码
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册