简单工厂模式+抛出异常
程序员文章站
2022-10-03 21:06:43
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、pandas是什么?二、使用步骤1.引入库3.具体产品运行前言一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库简单工厂public class ShapeFactory {public static Shape getShape(String type) throws UnsupportedShapeExce...
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
分析设计
简单工厂
public class ShapeFactory {
public static Shape getShape(String type) throws UnsupportedShapeException{
Shape shape = null;
if( type.equalsIgnoreCase("矩形") )
{
shape = new Rectangle();
}else if( type.equalsIgnoreCase("三角形") )
{
shape = new Triangle();
}else if(type.equalsIgnoreCase("圆形") )
{
shape = new Circle();
}else {
throw new UnsupportedShapeException("没有此类型的图形");
}
return shape;
}
}
## 2.抽象产品
<font color=#999AAA >代码如下(示例):
```java
public interface Shape {
public void draw();
public void erase();
}
3.具体产品
代码如下(示例):
public class Circle implements Shape{
public Circle() {
System.out.println("创建圆形");
}
public void draw() {
System.out.println("显示圆形");
}
public void erase()
{
System.out.println("清除圆形");
}
}
public class Rectangle implements Shape{
public Rectangle() {
System.out.println("创建矩形");
}
public void draw() {
System.out.println("显示矩形");
}
public void erase()
{
System.out.println("清除矩形");
}
}
```java
public class Triangle implements Shape{
public Triangle() {
System.out.println("创建三角形");
}
public void draw() {
System.out.println("显示三角形");
}
public void erase()
{
System.out.println("清除三角形");
}
}
##4。客户端测试
```java
public class Client {
public static void main(String[] args) throws UnsupportedShapeException{
// TODO Auto-generated method stub
Shape shape;
shape = ShapeFactory.getShape("猪");
shape.draw();
shape.erase();
}
}
##5.异常处理:
public class UnsupportedShapeException extends Exception {
public UnsupportedShapeException(String message) {
super(message);
}
}
运行
提示:
本文地址:https://blog.csdn.net/deepthoatsmoke/article/details/109563191
上一篇: DNS攻击的主要方式有哪些