package com.sxt;
import java.awt.image.BufferedImage;
public class BackGround {
//当前场景要显示的图像
private BufferedImage bgImage=null;
//记录当前是第几个场景
private int sort;
//判断是否是最后一个场景
private boolean flag;
public BackGround(){
}
public BackGround(int sort, boolean flag){
this.sort=sort;
this.flag=flag;
if(flag){
bgImage=StaticValue.bg2;
}else{
bgImage=StaticValue.bg;
}
}
public BufferedImage getBgImage() {
return bgImage;
}
public int getSort() {
return sort;
}
public boolean isFlag() {
return flag;
}
}
我们新建一个BackGround类。
这段代码是一个名为`BackGround`的Java类,用于表示背景图像和场景。它具有以下属性和方法:
1. `bgImage`:表示当前场景要显示的图像的`BufferedImage`对象。
2. `sort`:记录当前是第几个场景的整数值。
3. `flag`:判断是否是最后一个场景的布尔值。
构造方法:
- 无参数构造方法:创建一个空的背景对象。
- 带参数构造方法:接受一个整数值和一个布尔值作为参数,分别表示场景的排序和是否为最后一个场景。根据参数的不同,设置`bgImage`为相应的背景图像。
提供了以下公共方法(getter):
- `getBgImage()`:获取当前场景要显示的图像。
- `getSort()`:获取当前场景的排序。
- `isFlag()`:判断是否是最后一个场景。
这个类的作用是管理场景的背景图像,根据场景的排序和是否为最后一个场景,选择相应的背景图像进行显示。
private BufferedImage bgImage=null;
//记录当前是第几个场景
private int sort;
//判断是否是最后一个场景
private boolean flag;
public BackGround(){
}
这段代码是`BackGround`类的成员变量和无参构造方法。
1. `private BufferedImage bgImage=null;`:这是一个私有成员变量,用于存储当前场景要显示的图像。它的类型是`BufferedImage`,初始化为`null`。
2. `private int sort;`:这是一个私有成员变量,用于记录当前场景的排序。它的类型是整数。
3. `private boolean flag;`:这是一个私有成员变量,用于判断是否是最后一个场景。它的类型是布尔值。
4. `public BackGround(){}`:这是一个无参构造方法。在这个构造方法中,没有任何具体的逻辑实现。它被用作创建`BackGround`对象时的默认构造方法。
这些成员变量和构造方法提供了`BackGround`类的基本组件,其中`bgImage`用于存储图像,`sort`用于记录场景顺序,`flag`用于判断是否是最后一个场景,而无参构造方法用于创建实例对象。
知识小科普:将成员变量设置为`private`是一种封装的实践,它有以下几个原因:
1. 数据隐藏:将成员变量设置为`private`可以隐藏内部实现细节,只暴露必要的方法给外部访问。这样可以提高代码的安全性和可维护性,防止外部直接修改成员变量的值,而通过定义的公共方法进行控制和限制访问。
2. 封装性:将成员变量设置为`private`可以提供更好的封装性。对外部来说,只需通过公共方法来访问和操作成员变量,而不需要了解其具体实现细节。这样在后续的开发和维护过程中,可以更灵活地修改内部实现,而不会对外部代码造成影响。
3. 控制权限:通过将成员变量设置为`private`,可以精确地控制对成员变量的访问权限。只有本类内部的方法才能直接访问和修改这些成员变量,其他外部类或对象无法直接操作。这样可以提高代码的安全性,并减少错误和意外的发生。
综上所述,将成员变量设置为`private`是一种良好的封装实践,可以隐藏实现细节,提供更好的封装性和控制权限,从而保护数据的安全性和代码的可维护性。
public BufferedImage getBgImage() {
return bgImage;
}
public int getSort() {
return sort;
}
public boolean isFlag() {
return flag;
}
Getter方法(也称为访问器方法)是一种常见的面向对象编程的概念,用于获取对象的私有属性值。在这段代码中,getter方法被用来获取`BackGround`类中的私有属性值。
使用getter方法的好处包括:
1. 封装性:getter方法可以提供对私有属性的访问,并同时隐藏了内部实现的细节。通过使用getter方法,将属性的访问限制在类内部,可以避免对属性的直接访问和修改,增强了类的封装性和数据安全性。
2. 可控性:通过getter方法,我们可以在获取属性值时进行额外的逻辑处理。例如,在获取`bgImage`属性值时,可能进行一些图像处理或者返回属性的副本以保持数据的不可变性。这样可以确保属性值的正确性和一致性。
3. 扩展性:如果以后需要对属性的获取逻辑进行修改或添加其他功能,只需要修改getter方法的实现,而不需要修改使用该属性的其他代码。这样可以减少代码的依赖性,提高代码的灵活性和可维护性。
在给定的代码中,我们可以通过调用`getBgImage()`、`getSort()`和`isFlag()`方法,获取`bgImage`、`sort`和`flag`的值,而无需直接访问这些私有属性。这样可以保持`BackGround`类的封装和内部实现的私有性,同时提供了对属性值的安全访问方式。
声明:小游戏源码来自b站视频(up:编程学习会员Q),本文仅根据源码做知识性补充与注解。如存在不当使用的情况,请随时联系删除。
http://【【Java项目】不到两小时用Java做出超级玛丽小游戏_手把手教你开发游戏_超详细保姆级教程_Java编程_Java游戏开发-Java基础-Java练手项目】https://www.bilibili.com/video/BV1DZ4y1Y73M?p=8&vd_source=70e680aaeedc45cb797fd52fdd25367c