Magdisenyo ng isang klase na pinangalanang Triangle upang mapalawak ang klase ng GeometricObject.

Design Class Named Triangle Extend Geometricobject Class



Magdisenyo ng isang klase na pinangalanang Triangle upang mapalawak ang klase ng GeometricObject. Kasama sa kategoryang ito ang:

  • Tatlong dobleng mga patlang ng data na pinangalanang side1, side2 at side3 ay kumakatawan sa tatlong panig ng tatsulok na ito, at ang kanilang default na halaga ay 1.0.
  • Lumilikha ang isang tagatayo na walang argument ang default na tatsulok.
  • Isang pamamaraan upang lumikha ng isang tatsulok na may tinukoy na side1, side2 at side3.
  • Mga pamamaraan ng accessor para sa lahat ng tatlong mga patlang ng data.
  • Ang isang pamamaraan na tinatawag na getArea () ay nagbabalik ng lugar ng tatsulok na ito.
  • Ang isang pamamaraan na tinatawag na getPerimeter () ay nagbabalik ng perimeter ng tatsulok na ito
  • Ang isang pamamaraan na tinatawag na toString () ay nagbabalik ng string na paglalarawan ng tatsulok na ito.

Iguhit ang mga diagram ng UML ng klase ng Triangle at klase ng GeometricObject, at ipatupad ang mga klase na ito. Sumulat ng isang programa sa pagsubok kung saan ipinasok ng gumagamit ang tatlong panig ng tatsulok, ang kulay, at isang halaga ng Boolean upang ipahiwatig kung napunan ang tatsulok. Dapat gawin ng programa ang pag-input ng gumagamit na lumikha ng isang tatsulok sa mga panig na ito at itakda ang kulay at napunan ang mga pag-aari. Dapat ipakita ng programa ang lugar, haba ng gilid, kulay, at totoo o maling halaga na nagpapahiwatig kung punan.
imahe
UML diagram ng Triangle na klase: imahe
UML diagram ng GeometricObject class:
Subukan ang code ng programa:



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 } }

Mga resulta sa programa sa pagsubok: