ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Power JAVA 10장 ) 인터페이스와 다형성 - Programming_5
    IT/솔루션) 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));
    	}
    }

    댓글

다치지 말고 운동하자.