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