早教吧作业答案频道 -->数学-->
用C#中方法的重载,求圆面积、长方形面积、三角形面积.
题目详情
用C#中方法的重载,求圆面积、长方形面积、三角形面积.
▼优质解答
答案和解析
的思路去设计程序:
1,定义一个抽象类或者接口,表示图形,其中包含2个方法:求面积和求周长
2,定义具体类实现这个接口或继承这个抽象类,实现其中定义的函数.
3,调用的时候,定义这个接口类型或抽象类对象,然后根据实例化的不同子类,来调用不同的方法,——即类的多态性.
比如,我下面用接口来实现:
interface IDraw
{
float Area();
float Round();
}
class Square :IDraw
{
private float _x;
public Square(float x)
public float Area()
public float Round()
}
class Rectangle :IDraw
{
private float _x,_y;
public Rectangle(float x,float y)
public float Area()
public float Round()
}
class Triangle :IDraw
{
// 类似上面的定义
}
void Main()
{
IDraw draw;
draw = new Square(5);
draw.Area(); // 计算正方形面积
draw = new Rectangle(5,10);
draw.Area(); // 计算长方形面积
draw = new Triangle(5,10);
draw.Area(); // 计算三角形面积
}
多态性的好处很明显,方便以后扩充功能,且不影响原有的功能,你再加入椭圆形,菱形等,都只要定义新的类实现IDraw即可.
在调用方也实现了统一的接口,不管什么图形,都是用Area()和Round()去算面积和周长.
另外,如果再进一步考虑增强调用方的可维护性,可以使用设计模式IOC/DI,也就是控制反转/依赖注入,在配置文件中配置当前需要实例化的类,然后使用反射加载对应的类,实例化对象,并调用其方法.
关于涉及模式DI,请参考martin.fowler的文章
1,定义一个抽象类或者接口,表示图形,其中包含2个方法:求面积和求周长
2,定义具体类实现这个接口或继承这个抽象类,实现其中定义的函数.
3,调用的时候,定义这个接口类型或抽象类对象,然后根据实例化的不同子类,来调用不同的方法,——即类的多态性.
比如,我下面用接口来实现:
interface IDraw
{
float Area();
float Round();
}
class Square :IDraw
{
private float _x;
public Square(float x)
public float Area()
public float Round()
}
class Rectangle :IDraw
{
private float _x,_y;
public Rectangle(float x,float y)
public float Area()
public float Round()
}
class Triangle :IDraw
{
// 类似上面的定义
}
void Main()
{
IDraw draw;
draw = new Square(5);
draw.Area(); // 计算正方形面积
draw = new Rectangle(5,10);
draw.Area(); // 计算长方形面积
draw = new Triangle(5,10);
draw.Area(); // 计算三角形面积
}
多态性的好处很明显,方便以后扩充功能,且不影响原有的功能,你再加入椭圆形,菱形等,都只要定义新的类实现IDraw即可.
在调用方也实现了统一的接口,不管什么图形,都是用Area()和Round()去算面积和周长.
另外,如果再进一步考虑增强调用方的可维护性,可以使用设计模式IOC/DI,也就是控制反转/依赖注入,在配置文件中配置当前需要实例化的类,然后使用反射加载对应的类,实例化对象,并调用其方法.
关于涉及模式DI,请参考martin.fowler的文章
看了 用C#中方法的重载,求圆面积...的网友还看了以下:
有一个长方体形状的物品,长、宽、高分别为a,b,c(a>b>c>0),有三种不同的捆扎方法,如图所有 2020-03-30 …
阅读下面的材料:把形如ax2+bx+c的二次三项式(或其中一部分)配成完全平方的形式,叫做配方法. 2020-06-26 …
abc为三角形ABC的三边,满足a方乘于c方减b方乘于c方等于a的四次方减去b的四次方,三角形AB 2020-07-21 …
阅读下面的材料:把形如ax2+bx+c的二次三项式(或其中一部分)配成完全平方的形式,叫做配方法. 2020-07-31 …
阅读下面的材料:把形如ax2+bx+c的二次三项式(或其中一部分)配成完全平方的形式,叫做配方法. 2020-07-31 …
问:阅读下面的材料:把形如ax2+bx+c的二次三项式(或其中一部分)配成完全平方的形式,叫做配方 2020-07-31 …
一:2分之3根号1减去4分之1二:根号2的5次方分之3的平方三:根号1.5乘10的9次方分之8.1 2020-08-01 …
一道勾股定律的题入图,分别以直三角形的三边为边长向外作正方分形,然后分别以三个正方形的中心为圆心, 2020-08-02 …
(1/2)一头羊被圈在一块面积为3.14平方米,形状是等腰直角三角形的草地内,草地的周围有栅栏,把羊 2020-11-21 …
三角形ABC为直角三角形,AB是圆的直径,并且AB=20厘米,如果阴影(I)的面积比阴影(II)的面 2020-11-26 …