class TestClass

{

public class Shape

{

public const double PI = Mathf.PI;

protected double x, y;

public Shape()

{

}

public Shape(double x, double y)

{

this.x = x;

this.y = y;

}

public virtual double Area()

{

return x * y;

}

}

public class Circle : Shape

{

public Circle(double r) : base (r, 0)

{

}

public override double Area()

{

return PI * x * x;

}

}

public class Sphere : Shape

{

public Sphere(double r) : base (r, 0)

{

}

public override double Area()

{

return 4 * PI * x * x;

}

}

public class Cylinder : Shape

{

public Cylinder(double r, double h): base(r, h)

{

}

public override double Area()

{

return 2 * PI * x * x + 2 * PI * x * y;

}

}

/*

public TestClass()

{

}

*/

}


public class virtualclass : MonoBehaviour {

// Use this for initialization

void Start () {

double r = 3.0, h =5.0;

TestClass.Shape c = new TestClass.Circle(r);

string c1 = string.Format("Area of Circle = {0:F2}", c.Area());

print (c1);

TestClass.Shape s = new TestClass.Sphere(r);

string s1 = string.Format("Area of Sphere = {0:F2}", s.Area());

print(s1);

TestClass.Shape l = new TestClass.Cylinder(r, h);

string l1 = string.Format("Area of Cylinder = {0:F2}", l.Area());

print (l1);

}

// Update is called once per frame

void Update () {

}

}



'Computer Language > 유니티' 카테고리의 다른 글

얕은 복사와 깊은 복사  (0) 2014.05.12
out 을 이용하여 메인에서 배열을 써봅시다.  (0) 2014.05.09
열거형  (0) 2014.05.02
비행기와 퍼즐 맞추기  (0) 2014.05.02
카메라 좌표찍기  (0) 2014.05.02

+ Recent posts