精品偷拍一区二区三区,亚洲精品永久 码,亚洲综合日韩精品欧美国产,亚洲国产日韩a在线亚洲

  • <center id="usuqs"></center>
  • 
    
  • 用C#中方法的重載,求圓面積、長方形面積、三角形面積.

    用C#中方法的重載,求圓面積、長方形面積、三角形面積.
    數(shù)學(xué)人氣:844 ℃時間:2020-06-12 06:05:07
    優(yōu)質(zhì)解答
    的思路去設(shè)計程序:
    1,定義一個抽象類或者接口,表示圖形,其中包含2個方法:求面積和求周長
    2,定義具體類實現(xiàn)這個接口或繼承這個抽象類,實現(xiàn)其中定義的函數(shù).
    3,調(diào)用的時候,定義這個接口類型或抽象類對象,然后根據(jù)實例化的不同子類,來調(diào)用不同的方法,——即類的多態(tài)性.
    比如,我下面用接口來實現(xiàn):
    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(); // 計算三角形面積
    }
    多態(tài)性的好處很明顯,方便以后擴充功能,且不影響原有的功能,你再加入橢圓形,菱形等,都只要定義新的類實現(xiàn)IDraw即可.
    在調(diào)用方也實現(xiàn)了統(tǒng)一的接口,不管什么圖形,都是用Area()和Round()去算面積和周長.
    另外,如果再進一步考慮增強調(diào)用方的可維護性,可以使用設(shè)計模式IOC/DI,也就是控制反轉(zhuǎn)/依賴注入,在配置文件中配置當前需要實例化的類,然后使用反射加載對應(yīng)的類,實例化對象,并調(diào)用其方法.
    關(guān)于涉及模式DI,請參考martin.fowler的文章
    我來回答
    類似推薦
    請使用1024x768 IE6.0或更高版本瀏覽器瀏覽本站點,以保證最佳閱讀效果。本頁提供作業(yè)小助手,一起搜作業(yè)以及作業(yè)好幫手最新版!
    版權(quán)所有 CopyRight © 2012-2024 作業(yè)小助手 All Rights Reserved. 手機版