-
Power JAVA 10장 ) 인터페이스와 다형성 - Programming_5IT/솔루션) Power Java 2019. 5. 12. 18:00
<2016. 10. 11. 12:32>
Power JAVA 10장 ) 인터페이스와 다형성 - Programming_5
=============Shape.java(슈퍼클래스)=================== /* * 도형에 관한 클래스를 다형성을 이용하여서 작성하여 보자. * 이 프로그램에서는 사각형이나 삼각형과 같은 많은 종류의 도형을 사용한다. * 먼저 Shape이라는 수퍼 클래스를 작성한다. Shape은 모든 도형의 공통된 연산을 정의한다. * 예를 들어서 도형의 면적을 반환하는 calcArea()와 같은 메소드를 정의한다. * Shape을 상속받는 모든 도형들은 특정한 도형의 면적을 계산하여서 calcArea()를 통하여 반환한다. */ package Programming_5; public class Shape { String color; double area; public String getColor() { return color; } public void setColor(String color) { this.color = color; } public double calcArea(Shape object) { double area = 0; if(object instanceof Rectangle) { double a = ((Rectangle)object).getLength(); double b = ((Rectangle)object).getWidth(); area = a*b; } else if(object instanceof Triangle) { double a = ((Triangle)object).getBase(); double b = ((Triangle)object).getHeight(); area = (a*b)/2; } return area; } ; public String toString() { return color + "," + area; } } class Rectangle extends Shape { private double length = 5; private double width = 5; public double getLength() { return length; } public void setLength(double length) { this.length = length; } public double getWidth() { return width; } public void setWidth(double width) { this.width = width; } public String toString() { return color + "," + area; } } class Triangle extends Shape { private double base = 5; private double height= 5; public double getBase() { return base; } public void setBase(double base) { this.base = base; } public double getHeight() { return height; } public void setHeight(double height) { this.height = height; } public String toString() { return color + "," + area; } } ============ShapeTest.java============= package Programming_5; public class ShapeTest { public static void main(String[] args) { Shape myshape1; Shape myshape2; myshape1 = new Rectangle(); System.out.println(myshape1.calcArea(myshape1)); myshape2 = new Triangle(); System.out.println(myshape2.calcArea(myshape2)); } }
'IT > 솔루션) Power Java' 카테고리의 다른 글
Power JAVA 10장 ) 인터페이스와 다형성 - Programming_6 (0) 2019.05.12 Power JAVA 10장 ) 인터페이스와 다형성 - Programming_4 (0) 2019.05.12 Power JAVA 10장 ) 인터페이스와 다형성 - Programming_2 (0) 2019.05.12 Power JAVA 10장 ) 인터페이스와 다형성 - Programming_1 (0) 2019.05.12 Power JAVA 10장 ) 인터페이스와 다형성 - LAB (0) 2019.05.12