课外作业(2)接口+工厂方法 文件上传题 1. 接口作业题

简介: 课外作业(2)接口+工厂方法 文件上传题 1. 接口作业题

创建一个Cycle接口及其Unicycle、Bicycle和Tricycle实现。对每种类型的Cycle都创建相应的工厂,然后编写代码使用这些工厂。工厂产生的对象能够被管理,可以输出当前产生的对象总数。


写了我两个小时

package my;
public abstract class Factory
{
  int num=0;
  abstract int getNum();
  abstract Cycle produce();
  public static Factory createFac(String name){
        try
    {
          // 通过反射机制获取工厂类
          Class c = Class.forName(name);
      Factory factory = (Factory)c.newInstance();
      return factory;
    } catch (Exception e){
      e.printStackTrace();
    }
        return null;
  }
  public static void main(String[] args){
    //直接根据工厂名创建工厂很方便
    Factory unicyclefac=Factory.createFac("my.UnicycleFac");
    Cycle uc1=unicyclefac.produce();
    Cycle uc2=unicyclefac.produce();
    System.out.println(unicyclefac.getNum());
    Factory tricycleFac=Factory.createFac("my.TricycleFac");
    Cycle tc1=tricycleFac.produce();
    System.out.println(tricycleFac.getNum());
  }
}
 class UnicycleFac extends Factory{
  class Unicycle implements Cycle{
    private Unicycle(){}
  }
  @Override
  Cycle produce()
  {
    this.num++;
    return new Unicycle();
  }
  @Override
  int getNum()
  {
    return this.num;
  } 
}
class TricycleFac extends Factory{
  class Tricycle implements Cycle{
    private Tricycle(){}
  }
  @Override
  Cycle produce()
  {
    this.num++;
    return new Tricycle();
  }
  @Override
  int getNum()
  {
    return this.num;
  } 
}
class BicycleFac extends Factory{
  class Bicycle implements Cycle{
    private Bicycle(){}
  }
  @Override
  Cycle produce()
  {
    this.num++;
    return new Bicycle();
  }
  @Override
  int getNum()
  { 
    return this.num;
  } 
}

hnh111

package my;
public interface Cycle
{
  //由于题目并没有涉及Cycle的功能,所以不需要多配置属性和方法
}
目录
打赏
0
3
3
1
8
分享
相关文章
类与接口介绍
在Java中,类和接口是两种重要的概念,用于描述对象的属性和行为。它们是面向对象编程的基础,用于组织和管理代码。 类(Class)是一种模板或蓝图,用于创建对象。它定义了对象的属性和行为。类是Java中最基本的组织单元,所有的对象都是根据类来创建的。类由字段(属性)和方法组成。字段表示对象的状态或属性,而方法表示对象的行为或操作。 以下是一个简单的Java类的示例: ```java public class Person { // 字段 private String name; private int age; // 构造方法 publi
85 0
飞算 JavaAI:需求、接口、代码,一键全搞定!
飞算 JavaAI 革新了传统的 Java 开发模式,使需求分析、接口设计和代码编写变得简单高效。通过智能语义分析,它能快速理解自然语言描述的需求,精准提取关键信息;自动生成合理的接口方案,确保系统扩展性和稳定性;并根据需求和接口设计生成结构清晰、逻辑严谨的 Java 代码。无论是新手还是资深开发者,都能大幅提升开发效率,减少错误,降低项目成本,助力你在竞争中脱颖而出。
|
10月前
|
如何在类中实现并调用多个接口中的共享方法。
如何在类中实现并调用多个接口中的共享方法。
76 1
|
9月前
|
java函数式接口的三种实现方式
java函数式接口的三种实现方式
166 0
JAVAJDBC中常用的接口和类
JAVAJDBC中常用的接口和类
145 0
接口中的默认方法到底有什么用!
接口中的默认方法到底有什么用!
155 0
3 行代码写出 8 个接口,牛逼啊,这也行?
肯定有不少人会想:这怎么可能呢? 就算用几乎零配置的 SpringBoot,写一个最简单的接口也得有 3 行代码啊!
184 0
3 行代码写出 8 个接口,牛逼啊,这也行?