JAVA中的实体类

JAVA的实体类

(1) 什么是实体类

·简单来说:

实体类就是一个拥有SetGet方法的类。

·定义:

实体类主要是作为数据管理和业务逻辑处理层面上存在的类别; 它们主要在分析阶段区分 实体类的主要职责是存储和管理系统内部的信息,它也可以有行为,甚至很复杂的行为,但这些行为必须与它所代表的实体对象密切相关。

·举例:

一张表就等于业务里面的一个类。一条记录(一般一行数据)是一个对象,一行中的一列就是这个对象的一个属性。当我们准备操作这张表时(如更改数据),我们就可以在前台定义一个这样的对象,然后将其对应的属性赋值,然后传到后台。这样后台就可以拿到这个对象的所有值了——不用一个一个属性当参数传过来,只要传一个这个类的对象就好了,也就是说只要一个参数就好了。

(2) 怎么创建实体类

构造方法: 与实体类同名的方法,用于创建实体类对象。

set方法: 为实体类对象中的属性赋值

get方法: 从实体类对象中获取属性值

( tips:IDEA可快速生成上述方法:alt+insert )

代码示例:

 1 import java.awt.image.BufferedImage;
 2 import java.util.Objects;
 3 
 4 /*
 5 编写小方格的类
 6     属性:行、列、每个小方格的图片
 7     方法:左移一格、右移一格、下落一格
 8  */
 9 public class Cell {
10     private int row;
11     private int col;
12     private BufferedImage image;
13 
14     public Cell() {
15     }
16 
17     public Cell(int row, int col, BufferedImage image) {
18         this.row = row;
19         this.col = col;
20         this.image = image;
21     }
22 
23     public int getRow() {
24         return row;
25     }
26 
27     public void setRow(int row) {
28         this.row = row;
29     }
30 
31     public int getCol() {
32         return col;
33     }
34 
35     public void setCol(int col) {
36         this.col = col;
37     }
38 
39     public BufferedImage getImage() {
40         return image;
41     }
42 
43     public void setImage(BufferedImage image) {
44         this.image = image;
45     }
46 
47     @Override
48     public String toString() {
49         return "Cell{" +
50                 "row=" + row +
51                 ", col=" + col +
52                 ", image=" + image +
53                 '}';
54     }
55 
56     @Override
57     public boolean equals(Object o) {
58         if (this == o) return true;
59         if (o == null || getClass() != o.getClass()) return false;
60         Cell cell = (Cell) o;
61         return row == cell.row && col == cell.col && Objects.equals(image, cell.image);
62     }
63 
64     @Override
65     public int hashCode() {
66         return Objects.hash(row, col, image);
67     }
68     //编写左移一格的方法
69     public void left(){
70         col--;
71     }
72     //编写右移一格的方法
73     public void right(){
74         col++;
75     }
76     //编写下移一格的方法
77     public void drop(){
78         row++;
79     }
80 }

  (上面这段代码中的 @Override、toString()、equals()、hashCode()是什么,又有什么作用呢,我将在下一篇文章探究)

 

  调用实体:

1 Cell[][] wall = new Cell[18][9];//俄罗斯方块游戏主区域
2 Cell[] cells = new Cell[4];//单个的方块组合

 (tips: 代码来源于动力节点b站课程内容俄罗斯方块项目,正在学习ing)

posted @ 2022-08-13 15:38  FREAM  阅读(2477)  评论(0)    收藏  举报