你能写出上面要求的代码吗
时间: 2024-03-25 07:39:44 浏览: 35
手写ButterKnife
当然可以,以下是符合题目要求的代码示例:
```
using System;
public class Rectangle
{
protected double length;
protected double width;
public Rectangle(double l, double w)
{
length = l;
width = w;
}
public virtual double area()
{
return length * width;
}
public virtual void show()
{
Console.WriteLine("矩形面积为:" + area());
}
}
public class Cube : Rectangle
{
protected double height;
public Cube(double l, double w, double h) : base(l, w)
{
height = h;
}
public override double area()
{
return 2*(length*width + length*height + width*height);
}
public override void show()
{
Console.WriteLine("立方体表面积为:" + area());
}
}
public class CArea
{
public static void Main()
{
Cube cube = new Cube(10, 5, 3);
cube.show();
}
}
```
在上述代码中,Rectangle类是矩形类,Cube类是立方体类,CArea类是用来测试程序的类。在Main方法中,我们生成了一个Cube对象cube并初始化其数据成员,然后调用了该对象的show()方法进行计算并输出结果。
需要注意的是,Cube类继承了Rectangle类,并且重写了其中的area()和show()方法。在构造函数中,我们调用了基类的构造函数以初始化Rectangle类中的数据成员。在CArea类中,我们只需要生成Cube对象并调用其方法即可。
阅读全文