如何在if/else语句中在单个构造函数中传递的“type”参数?

c9x0cxw0  于 2021-07-05  发布在  Java
关注(0)|答案(1)|浏览(327)

如何在if/else语句中传递构造函数的“type”参数?对于eg-cal(2,2,0,矩形)。所以如果type=rectangle,那么计算一个矩形的面积。如果type=circle,则计算圆的面积。
我使用一个构造函数。我的问题是,我知道逻辑,但我不能写它的语法。我正在使用java或apex。
我想用if-else语句。如何在代码中传递类型参数?
我的程序是这样的-
如果“type”=square,编译器将调用calculate area of the square。
如果“type”=circle,编译器将调用calculate area of the circle。

public class Area {

      private String type;
      private Integer length;
      private Integer breadth;
      private Integer height;
      private Integer area;

     public void setType(String t){
          type=t;    
      }
      public void setLength(Integer l){
          length=l;    
      }
      public void setbreadth(Integer b){
          breadth=b;    
      }
      public void setheight(Integer h){
          height=h;    
      }
     /* public void setArea(Integer a){
          area=a;    
      } */

      public Integer getLength(){
          return length;  
      }
      public Integer getbreadth(){
          return breadth;  
      }
      public Integer getheight(){
          return height;  
      }
      public string gettype(){
          return type;  
      }

      public Integer AreaRectangle(){
          return area=length*breadth;
      }

      public Integer AreaSquare(){
          return area=length*length;
      }

      public integer AreaTriangle(){
          return area=1/2 *(breadth*height);
      }

     public Area(){ // default constructor
         length=9;
          breadth=2;
          height=7;       

      }
      public Area(String t,Integer l ,Integer b,Integer h ){         // parameterised constructor
          type=t;
          length=l;
          breadth=b;
          height=h;

      }  
  }
mm5n2pyu

mm5n2pyu1#

你没有。创建一个名为shape的抽象类。

public abstract class Shape {
    abstract double area();  
}

然后是另外两类 Shape 每一个都提供了适当的实现

public class Square extends Shape {
    private int side;
    public Square(int side) {
        this.side = side;
    }
    public double area() {
        return (double) side * side;
    }
}

现在在你想叫它的地方:

Shape shape = new Square(5);
double area = shape.area();

Int radius = 4;
shape = new Circle(radius);
double circle area = shape.area();

相关问题