method-hiding

    5熱度

    1回答

    當隱藏一個靜態字段時,對該字段在子類中的訪問級別沒有限制,它甚至可以是非靜態的和其他數據類型。 另一方面,隱藏靜態方法時,從隱藏靜態方法的超類的子類的靜態方法可以允許比隱藏方法更多(但不少於)的訪問。 AFAIK,靜態方法鏈接無論如何都是在編譯時完成的,那麼爲什麼會有這樣的限制呢? P.S.這個問題只是出於好奇。

    1熱度

    3回答

    當一個類擴展一個類時,我們可以使用超級類引用,同時將內存分配給子類對象。 到目前爲止我的理解是可以這樣做,因爲子類繼承其父類的數據,但它不能訪問子類的成員,因爲它只是參考,因此不知道什麼補充是由孩子班級完成的。 我的問題是當我將方法隱藏到上述概念時,超類引用變量開始引用子類的函數。這是爲什麼 ?爲什麼它沒有把它稱爲它自己的方法? class A{ void show(){ System.out.

    1熱度

    4回答

    派生類對象上調用時,如果我有這樣的事情「this」關鍵字類型: class Base { public void Write() { if (this is Derived) { this.Name();//calls Name Method of Base class i.e. prints Base ((Derived)thi

    0熱度

    2回答

    我有一個View MainWindow.xaml,其中包含Button.xaml中定義的兩個按鈕。該按鈕綁定到屬性IsVisible,該屬性定義按鈕是否可見。 MainWindow.xaml: <local:Button DataContext="{Binding ButtonViewModel1}" /> <local:Button DataContext="{Binding ButtonVi

    0熱度

    1回答

    在編程語言中,如果您希望子對象應該作爲父類&的替代品,但它不應該放棄自己的身份(作爲子級),您必須獲得父級的許可。這就是爲什麼我們使用C#或C++虛擬化這些方法的原因。這成爲一個完整的隱藏。在Java中是否將整個隱藏視爲重寫? 99%的時間我在這裏有錯誤的概念,因爲我認爲我正在考慮它只隱藏。像JAVA一樣,重寫函數可以完全隱藏起來嗎?

    0熱度

    2回答

    我被要求在VS 2013中創建一個C#WPF應用程序,場景如下。 在應用程序開始時,表單必須帶有兩個按鈕。在頂部按鈕上,必須寫入文本「按鈕1」,並在底部按鈕上寫入文本「按鈕2」。第一次,當按鈕1或按鈕2的任何一個被點擊時,它將消失,另一個按鈕將保持不變。例如,用戶第一次點擊按鈕1,則按鈕1將消失。按鈕2將保持不變。現在窗口上只有一個按鈕是按鈕2.單擊按鈕2時,它將消失,按鈕1將重新出現在窗口上。現

    4熱度

    1回答

    考慮這樣一個例子: #include <iostream> #include <vector> template <class, class T> using alias = T; template <template <class...> class> struct tt_wrapper{}; template <class...> struct t_wrapper{};

    1熱度

    1回答

    這是僞代碼 class A { public static void m1() { System.out.println("Parent"); } } class B extends A { public static void m1() { System.out.println("Child"); } }

    2熱度

    3回答

    在基於類型引用對象的方法覆蓋的情況下,保留方法調用將被決定。 如果方法隱藏基於對象類型的方法調用將被決定。 任何人都可以解釋我重寫+隱藏調用決定的方法。 public class Base { public virtual void DoIt() { } } public class Derived : Base {

    0熱度

    1回答

    我想了解接口的繼承是如何工作的。當一個接口繼承另一個接口但具有相同簽名的方法時,編譯器會發出一個警告,提醒基礎成員是隱藏的(這看起來很合理)。但是,當我稍後在一個類中實現子接口時,我必須實現具有相同簽名的父接口方法和子接口方法,這使我感到困惑......我認爲,當父成員隱藏時,只需要實現子接口方法? (我來到這一邊看着IEnumerable和IEnumerable<T>接口) interface