프로그래밍/JAVA

2013-08-18 abstract 클래스

족제비상 2013. 8. 18. 14:39
// File Name : Sample01.java

// abstract class Sample
abstract class Shape
{
	double a=1, b=1, c=1;
	Shape() {}
	Shape(double a) {this.a = a;}
	Shape(double a, double b) {this.a=a; this.b=b;}
	
	public abstract double getArea();        // abstract method 1
	public abstract double getCircum();      // abstract method 2
}

class Circle extends Shape
{
	static final double PI=3.14;
	Circle(double a) {super(a);}
	
	public double getArea() {return a*a*PI;}
	public double getCircum() {return 2*a*PI;}
}

class Rectangular extends Shape
{
	Rectangular(double a, double b) {super(a, b);}

	public double getArea() {	return a*b;}
	public double getCircum() {return a+a+b+b;}
}

//main Class
public class Sample01
{
	// main Function
	public static void main (String[] ar) throws IOException
	{
		// class Sample main_function
		double a=3.0, b=5.0;
		Circle c = new Circle(a);
		Rectangular d = new Rectangular(a,  b);
		
		System.out.println("원의 반지름 " + a);
		System.out.println("원의 넓이 : " + c.getArea() + "원의 둘레 : " + c.getCircum());
		System.out.println("사각형의 가로 : " + a + "사각형의 세로 : " + b);
		System.out.println("사각형의 넓이 : " + d.getArea() + "사각형의 둘레 : " + d.getCircum());

	}
}

'프로그래밍 > JAVA' 카테고리의 다른 글

2013-08-23 List 클래스  (2) 2013.08.23
2013-08-18 Frame 클래스 (자바 UI 만들기)  (0) 2013.08.18
2013-08-18 File 클래스 - Write  (0) 2013.08.18