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 |