關於C#基類和子類函數調用問題

來源:互聯網
上載者:User

標籤:style   blog   color   2014   os   art   

c#基類子類的函數調用關係,代碼說明newkeyword後面的類中的函數為對象調用的函數,當然必需要有virtual和override,繼承就相當於包括了基類的函數,子類對象調用時基類的函數相當於就在子類其中一樣。(必需要有virtual和override此代碼才成立),問題是C#基礎問題但非常easy搞錯,代碼片在unity3d中測試,需要UnityEngine.dll。

using UnityEngine;using System.Collections;public class NewBehaviourScript : MonoBehaviour{    void Start()    {        TestBase T1 = new TestChild();        T1.TestA();//child!        TestBase T2 = new TestBase();        T2.TestA();//base!        TestChild T3 = new TestChild();        T1.TestA();//child!    }}using UnityEngine;using System.Collections;using UnityEngine;public class TestBase{    public TestBase()    {          }    public virtual void A()    {        Debug.LogError("base!");    }    public void TestA()    {        A();    }}public class TestChild : TestBase{    public override void A()    {        Debug.LogError("child!");    }}



相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.