下面是一个示例代码,展示了如何使用工厂设计模式来创建Bitmap实例:
// 工厂接口
interface BitmapFactory {
Bitmap createBitmap();
}
// 实现工厂接口的具体类
class PngBitmapFactory implements BitmapFactory {
@Override
public Bitmap createBitmap() {
// 创建 PNG 格式的 Bitmap 实例的代码
return new PngBitmap();
}
}
class JpegBitmapFactory implements BitmapFactory {
@Override
public Bitmap createBitmap() {
// 创建 JPEG 格式的 Bitmap 实例的代码
return new JpegBitmap();
}
}
// Bitmap 接口和具体实现类
interface Bitmap {
void showInfo();
}
class PngBitmap implements Bitmap {
@Override
public void showInfo() {
System.out.println("This is a PNG bitmap");
}
}
class JpegBitmap implements Bitmap {
@Override
public void showInfo() {
System.out.println("This is a JPEG bitmap");
}
}
// 使用工厂类创建 Bitmap 实例
public class Main {
public static void main(String[] args) {
// 创建 PNG 格式的 Bitmap 实例
BitmapFactory pngFactory = new PngBitmapFactory();
Bitmap pngBitmap = pngFactory.createBitmap();
pngBitmap.showInfo();
// 创建 JPEG 格式的 Bitmap 实例
BitmapFactory jpegFactory = new JpegBitmapFactory();
Bitmap jpegBitmap = jpegFactory.createBitmap();
jpegBitmap.showInfo();
}
}
在这个示例中,我们定义了一个BitmapFactory接口,它有一个createBitmap方法用于创建Bitmap实例。然后我们实现了两个具体的工厂类PngBitmapFactory和JpegBitmapFactory,分别用于创建PNG格式和JPEG格式的Bitmap实例。接下来定义了一个Bitmap接口和两个具体的实现类PngBitmap和JpegBitmap。
在Main类的main方法中,我们使用工厂类创建了PNG格式和JPEG格式的Bitmap实例,并调用showInfo方法展示了它们的信息。
通过使用工厂设计模式,我们可以将创建不同类型的Bitmap实例的代码解耦,使得代码更加灵活和可扩展。
上一篇:BitmapFactory对于ARGB字节数组返回空位图(Android)
下一篇:BitmapFactory:无法解码流:java.io.FileNotFoundException:/data/user/0/com.example.plant/files/image.jpeg: