using System;public interface Ishape
{
double area();
double circumference();
int sides();
}public class circle:Ishape
{
public int x;
public int y;
public double radius;
private const float pi=3.14159F;
public double area()
{
double thearea;
thearea =pi*radius*radius;
return thearea;
}
public double circumference()
{
return ((double) (2*pi*radius));
}
public int sides()
{
return 1;
}
public circle()
{
x=0;
y=0;
radius=0.0;
}
}public class square:Ishape
{
public int side;
public double area()
{
return((double)(side*side));
}
public double circumference()
{
return((double) (4*side));
}
public int sides()
{
return 4;
}
public square()
{
side=0;
}
}public class myapp
{
public static void Main()
{
circle mycircle=new circle();
mycircle.radius=5;
square mysquare=new square();
mysquare.side=4;
Console.WriteLine("displaying circle information:");
displayinfo(mycircle);
Console.WriteLine("\ndisplaying square information:");
displayinfo(mysquare);
}
static void displayinfo(Ishape myshape) //这句是什么意思
{
Console.WriteLine("area:{0}",myshape.area());
Console.WriteLine("sides {0}",myshape.sides());
}
}帮我解析下!!!
“
Console.WriteLine("displaying circle information:");
displayinfo(mycircle);”
static void displayinfo(Ishape myshape)
{..}
这里只要传入一个实现Ishap接口的对象进去,就能输出这个对象的area和sides.
Ishape.area()
和
Ishape.sides()
静态方法displayinfo的参数就是Ishape类型的变量,就是在里面输出根据myshape值的内容。