java中抽象类完成三角形形圆形矩形平行四边形的程序设计_用C#中方法的重载,求圆面积、长方形面积、三角形面积。...

通过定义一个抽象类或接口表示图形,包含求面积和求周长的方法。具体类如Square、Rectangle、Triangle继承抽象类或实现接口,实现相应功能。在Main方法中,利用多态性调用不同图形类的方法进行计算,展示出良好的扩展性和代码复用。若要增强可维护性,可结合IOC/DI设计模式。
摘要由CSDN通过智能技术生成

满意答案

dcebd7a0de6265b6ccae5ead692f1eab.png

ucpxew

2013.10.29

dcebd7a0de6265b6ccae5ead692f1eab.png

采纳率:49%    等级:12

已帮助:9820人

的思路去设计程序:

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的文章

03分享举报

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值