c#多態實戰

來源:互聯網
上載者:User

多態  就是說同一個對象,在不同的情境有不同的行為,也就是說執行不同的代碼。 當然這個不同的情境是指類的指標指向的實際對象是什麼,那麼就調用這個實際對象的方法。

在c#語言中 實現多態的方法有三種

1  重寫父類的虛方法,

2 介面繼承

3 抽象類別繼承

要是你能把下邊的例子看懂了,說明你有一個很大的進步了。下邊僅僅以重寫父類的虛方法來說明一下多態。

using System;using System.Data;using System.Text;class programe{    public delegate void mydelgatemath();    static void Main(string[] arg)    {        try        { baseClass tempFath ;baseClass fathobj = new baseClass() ;fathobj.say() ;sonclass sonobj = new sonclass() ;    sonobj.say() ;son2class son2obj=new son2class() ;son2obj.say() ;tempFath =  sonobj ;tempFath.say() ;tempFath = son2obj ;tempFath.say();Console.WriteLine("上邊是學習,下邊是多態實際例子,以及應用情境");baseClass[] famliys = new baseClass[3]{fathobj ,sonobj ,son2obj};foreach(baseClass o in famliys){   o.say() ;}        }        catch (Exception err)        {            Console.WriteLine(err.Message);        }    }    public class baseClass    {public baseClass(){Console.WriteLine("my name am【"+this.ToString()+"】老子出生了 不希望我兒子是跟屁蟲,別我說啥他說啥。 ") ;  }        virtual public void say()        {Console.WriteLine("老子說話了") ;          }    }   public sealed class sonclass : baseClass{public sonclass(){} override  public void say()        {Console.WriteLine("兒子說話了") ;          }}public sealed class son2class : baseClass{public son2class(){} override  public void say()        {Console.WriteLine("二兒子說話了") ;          }}}

把上邊代碼複製到cs檔案中,運行結果如下 :

---------- run ----------=============== 運行C#程式 Write By cicnor===============my name am【programe+baseClass】老子出生了 不希望我兒子是跟屁蟲,別我說啥他說啥。 老子說話了my name am【programe+sonclass】老子出生了 不希望我兒子是跟屁蟲,別我說啥他說啥。 兒子說話了my name am【programe+son2class】老子出生了 不希望我兒子是跟屁蟲,別我說啥他說啥。 二兒子說話了兒子說話了二兒子說話了上邊是學習,下邊是多態實際例子,以及應用情境老子說話了兒子說話了二兒子說話了=============== 程式結束 Copy cicnor 2001===============Output completed (0 sec consumed) - Normal Termination

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.