接口与抽象类应用

编程题一:
利用接口做参数,写个计算器,能完成加减乘除运算。
(1)定义一个接口Compute含有一个方法int computer(int n, int m)。
(2)设计四个类分别实现此接口,完成加减乘除运算。
(3)设计一个类UseCompute,类中含有方法:public void useCom(Compute com, int one, int two),此方法能够用传递过来的对象调用computer方法完成运算,并输出运算的结果。
(4)设计一个主类Test,调用UseCompute中的方法useCom来完成加减乘除运算。


interface IComputer{
   public abstract int computer(int n,int m);
}
class AddImpl implements IComputer{
    public int computer(int n,int m){
       return n+m;
    }
}
class SubImpl implements IComputer{
    public  int computer(int n,int m){
        return n-m;
    }
}
class MultImpl implements IComputer{
    public  int computer(int n,int m){
        return n*m;
    }
}class DivImpl implements IComputer{
    public  int computer(int n,int m){
        if(m==0) {
        return 0;
        }
      return n/m;
    }
}
class UseCompute {
   public void useCom(IComputer com, int one, int two){
        System.out.println(com.computer(one,two));
    }
}
public class Test1{
    public static void main(String[] args){
        AddImpl add = new AddImpl();
        SubImpl sub = new SubImpl();
        MultImpl mult= new MultImpl();
        DivImpl div= new DivImpl();
        UseCompute computer=new UseCompute();
        computer.useCom(mult,2,5);
        computer.useCom(sub,2,5);
        computer.useCom(add,2,5);
        computer.useCom(div,5,5);
    }
}

在这里插入图片描述
编程题二:
3.按如下要求编写Java程序:
(1)定义接口A,里面包含值为3.14的常量PI和抽象方法double area()。
(2)定义接口B,里面包含抽象方法void setColor(String c)。
(3)定义接口C,该接口继承了接口A和B,里面包含抽象方法void volume()。
(4)定义圆柱体类Cylinder实现接口C,该类中包含三个成员变量:底圆半径radius、
圆柱体的高height、颜色color。
(5)创建主类来测试类Cylinder。


interface IA{
    public final static double PI=3.14;
    public abstract double area();
}
interface IB{
    public void setColor(String c);
}
interface IC extends IA,IB{
    public abstract void volume();
    public double area();
    public void setColor(String c);
}
class CylinderImpl implements IC{
    public double radius;
    public double height;
    public String color;
 public CylinderImpl(double radius,double height,String color){
    this.radius=radius;
    this.height=height;
    this.color=color;
    }
    public double area() {
        return PI*radius*radius;
    }
    public void volume() {
        System.out.println("圆柱体的面积"+area()+",圆柱体的体积:"+area()*height);
    }
    public void setColor(String c) {
       System.out.println(c);
    }
}
public class Test1 {
    public static void main(String[] args){

    CylinderImpl cylinderImpl=new CylinderImpl(1.3, 2.4,"red");
           cylinderImpl.setColor("red");
           cylinderImpl.area();
           cylinderImpl.volume();
   }
}

在这里插入图片描述

!

猜你喜欢

转载自blog.csdn.net/QLH04_04/article/details/87935588
今日推荐