91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何在C#項目中使用繼承

發布時間:2021-05-24 15:56:40 來源:億速云 閱讀:215 作者:Leah 欄目:開發技術

如何在C#項目中使用繼承?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

聲明一個抽象類

//基類
    abstract class Shape
    {
        //抽象方法 計算面積
        public abstract double ComputerArea();

    }

聲明子類

//子類 繼承Shape 實現抽象方法
    class Circle : Shape
    {
        private double _radius;

        //構造函數
        public Circle(double radius) => _radius = radius;

        //實現抽象方法
        public override double ComputerArea()
        {
            return _radius * _radius * Math.PI;
        }
    }

    //子類 繼承Shape 實現抽象方法
    class Rectangle : Shape
    {

        private double _width;

        private double _height;

        //構造函數
        public Rectangle(double width, double height)
        {
            _width = width;
            _height = height;
        }
        //實現抽象方法
        public override double ComputerArea()
        {
            return _width * _height;
        }
    }

    //子類 繼承Shape 實現抽象方法
    class Triangle : Shape
    {

        private double _bottom;

        private double _height;

        //構造函數
        public Triangle(double bottom, double height)
        {
            _bottom = bottom;
            _height = height;
        }
        //實現抽象方法
        public override double ComputerArea()
        {
            return _bottom * _height / 2;
        }
    }

聲明計算類

//計算類
    class Calculate
    {
        //傳入一個父類作為參數,調用方法
        public void Calc(Shape shape)
        {

            Console.WriteLine($"{shape.GetType().Name}的面積:{shape.ComputerArea()}");
        }
    }

測試

class Program
    {
        static void Main(string[] args)
        {
            var circle = new Circle(5);
            var rect = new Rectangle(5, 10);
            var triangle = new Triangle(6, 8);

            var calc = new Calculate();

            calc.Calc(circle);
            calc.Calc(rect);
            calc.Calc(triangle);
        }
    }

運行結果

如何在C#項目中使用繼承

實際上 如果是只有這個方法要實現的話,繼承接口也是可以的!

實例擴展:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;


/**
 * 假設我們公司有兩種程序員:
 * java程序員指的是用java語法寫程序的程序員,用Jpro這個類表示;
 * C#程序員指的是用C#語法寫程序的程序員,用Cpro這個類來表示。
 * 每個類都有一個WriteCode()方法。
 * 都屬于程序員,用Programmer這個類表示。
 * 現在公司來了一個項目,要求派某個程序員寫一個程序。
 */
namespace inheritApplication
{
  //程序員類(基類)
  class Programmer
  {
    public string name = "我是程序員";
  }
  //java程序員類
  class Jpro 
  {
    public string name = "java程序員";
    public string language = "我用java語法寫代碼";
  }
  //C程序員類
  class Cpro 
  {
    public string name = "C#程序員";
    public string language = "我用C#語法寫代碼";
  }
  //編寫項目類
  class Pro : Programmer //繼承基類
  {
    public void WriteProgram(Jpro program) //繼承java程序員類
    {
      Console.WriteLine("" + program.name + ":" + name + "," + program.language + "");
    }
    public void WriteProgram(Cpro program)
    {
      Console.WriteLine("" + program.name + ":" + name + "," + program.language + "");
    }
  }
  //主程序
  class Program
  {
    static void Main(string[] args)
    {
      Pro p = new Pro();
      Jpro p1 = new Jpro();
      p.WriteProgram(p1);
      Cpro p2 = new Cpro();
      p.WriteProgram(p2);
      Console.ReadKey();
    }
  }
}

C#是什么

C#是一個簡單、通用、面向對象的編程語言,它由微軟Microsoft開發,繼承了C和C++強大功能,并且去掉了一些它們的復雜特性,C#綜合了VB簡單的可視化操作和C++的高運行效率,以其強大的操作能力、優雅的語法風格、創新的語言特性和便捷的面向組件編程從而成為.NET開發的首選語言,但它不適用于編寫時間急迫或性能非常高的代碼,因為C#缺乏性能極高的應用程序所需要的關鍵功能。

看完上述內容,你們掌握如何在C#項目中使用繼承的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

新平| 甘孜| 区。| 金门县| 拉萨市| 米林县| 体育| 会理县| 济南市| 普洱| 甘南县| 桃园县| 盖州市| 渭南市| 宝清县| 沂水县| 平塘县| 汽车| 永嘉县| 凤冈县| 理塘县| 太保市| 彭水| 曲麻莱县| 西青区| 行唐县| 温宿县| 黎平县| 凭祥市| 龙口市| 原平市| 桃园县| 丹江口市| 丰顺县| 闵行区| 宜川县| 贵阳市| 伊春市| 揭阳市| 扎兰屯市| 班戈县|