IT/솔루션) Power Java

Power JAVA 10장 ) 상속 - Programming_1

돔찌 2019. 5. 12. 17:51

<2016. 10. 11. 12:25>

Power JAVA 10장 ) 상속 - Programming_1

 

===========Circle.java====================
/* 
 * 다음과 같은 UML에 해당되는 Circle 클래스와 Cylinder 클래스를 작성하여 보자.
 * getVolum() 메소드에서 getArea()를 사용하여 부피를 계산하도록 하라.
 */
package Programming_1;
class Circle {
	private double radius;
	private String color;
	private static final double PI = 3.14;
	Circle() {
	}
	;
	Circle(double radius) {
		this.radius = radius;
	}
	public double getRadius() {
		return radius;
	}
	public double getArea() {
		return PI*radius*radius;
	}
}
===========Cylinder.java==================
package Programming_1;
class Cylinder extends Circle {
	private double height;
	Cylinder() {
	}
	;
	Cylinder(double radius) {
		super(radius);
	}
	Cylinder(double radius, double height) {
		super(radius);
		this.height = height;
	}
	public double getHeight() {
		return height;
	}
	public double getVolum() {
		return super.getArea() * this.height;
	}
}
================TestCylinder.java=====================
/* TestCylinder 클래스를 작성하고 main()에서 Cylinder()를 호출하여서 obj1 객체를 생성한다.
 * obj1의 모든 속성을 접근자를 통하여 출력한다.
 * 추가로 Cylinder(5.0,3.0)을 호출하여서 ojb2 객체를 생성하고 ojb2의 모든속성을 접근자를 통하여 출력해보자.
 */
package Programming_1;
public class TestCylinder {
	public static void main(String[] args) {
		Cylinder obj1 = new Cylinder();
		System.out.println(obj1.getRadius());
		System.out.println(obj1.getArea());
		System.out.println(obj1.getHeight());
		System.out.println(obj1.getVolum());
		Cylinder obj2 = new Cylinder(5.0,3.0);
		System.out.println(obj2.getRadius());
		System.out.println(obj2.getArea());
		System.out.println(obj2.getHeight());
		System.out.println(obj2.getVolum());
	}
}