JAVA中的实体类
JAVA的实体类
(1) 什么是实体类
·简单来说:
实体类就是一个拥有Set和Get方法的类。
·定义:
实体类主要是作为数据管理和业务逻辑处理层面上存在的类别; 它们主要在分析阶段区分 实体类的主要职责是存储和管理系统内部的信息,它也可以有行为,甚至很复杂的行为,但这些行为必须与它所代表的实体对象密切相关。
·举例:
一张表就等于业务里面的一个类。一条记录(一般一行数据)是一个对象,一行中的一列就是这个对象的一个属性。当我们准备操作这张表时(如更改数据),我们就可以在前台定义一个这样的对象,然后将其对应的属性赋值,然后传到后台。这样后台就可以拿到这个对象的所有值了——不用一个一个属性当参数传过来,只要传一个这个类的对象就好了,也就是说只要一个参数就好了。
(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)

浙公网安备 33010602011771号