GeometricObjectクラスを拡張するTriangleという名前のクラスを設計します。



Design Class Named Triangle Extend Geometricobject Class



GeometricObjectクラスを拡張するTriangleという名前のクラスを設計します。このカテゴリには次のものが含まれます。

  • side1、side2、side3という名前の3つのdoubleデータフィールドは、この三角形の3つの辺を表し、デフォルト値は1.0です。
  • 引数のないコンストラクターは、デフォルトの三角形を作成します。
  • side1、side2、side3を指定して三角形を作成する方法。
  • 3つのデータフィールドすべてのアクセサメソッド。
  • getArea()というメソッドは、この三角形の面積を返します。
  • getPerimeter()というメソッドは、この三角形の周囲長を返します
  • toString()というメソッドは、この三角形の文字列の説明を返します。

TriangleクラスとGeometricObjectクラスのUMLダイアグラムを描画し、これらのクラスを実装します。ユーザーが三角形の3つの辺、色、および三角形が塗りつぶされているかどうかを示すブール値を入力するテストプログラムを作成します。プログラムは、ユーザー入力でこれらの辺を持つ三角形を作成し、色と塗りつぶしのプロパティを設定する必要があります。プログラムは、面積、辺の長さ、色、および塗りつぶすかどうかを示すtrueまたはfalseの値を表示する必要があります。
画像
TriangleクラスのUML図: 画像
GeometricObjectクラスのUML図:
テストプログラムコード:



package abc import java.util.Scanner //Triangle class public class Triangle extends GeometricObject{ private double side1 private double side2 private double side3 public Triangle(){ this.side1=1 this.side2=1 this.side3=1 } public Triangle(double newSide1,double newSide2,double newSide3) { this.side1=newSide1 this.side2=newSide2 this.side3=newSide3 } public double getSide1() { return side1 } public double getSide2() { return side2 } public double getSide3() { return side3 } public double getArea() { double P=(this.side1+this.side2+this.side3)/2 double S=Math.sqrt(P*(P-this.side1)*(P-this.side2)*(P-this.side3)) return S } public double getPerimeter() { return this.side1+this.side2+this.side3 } public String toString() { return 'Triangle:side1 = '+this.side1+' side2 = '+this.side2+' side3 = '+this.side3 } public static void main(String[] args) { // TODO Auto-generated method stub double side1,side2,side3 String color boolean filled Scanner input = new Scanner(System.in) System.out.println('Please enter the three sides of the triangle:') side1=input.nextDouble() side2=input.nextDouble() side3=input.nextDouble() System.out.println('Please enter the color of the triangle:') color=input.next() System.out.println('Please enter a bool value to see if the triangle is filled:') filled=input.hasNext() Triangle a = new Triangle(side1,side2,side3) a.setColor(color) a.setFilled(filled) System.out.println('The area is:'+a.getArea()+'The side length is:'+a.getPerimeter()+'The color is:'+a.getColor()+'Whether to fill:'+a.isFilled()) } } package abc //GeometricObject class public class GeometricObject { private String color='white' private boolean filled private java.util.Date dateCreated public GeometricObject(){ dateCreated=new java.util.Date() } public GeometricObject(String color,boolean filled){ dateCreated=new java.util.Date() this.color=color this.filled=filled } public String getColor(){ return color } public void setColor(String color){ this.color=color } public boolean isFilled(){ return filled } public void setFilled(boolean filled){ this.filled=filled } public java.util.Date getDateCreated(){ return dateCreated } public String toString(){ return 'created on'+dateCreated+' color:'+color+'and filled:'+filled } }

テストプログラムの結果: