dynamic-binding

    3熱度

    1回答

    問題來自我剛剛添加到this question的答案,但它不應該是一個重複的評論。 @Bavarious對這個問題的答案對我來說很合理,但我仍然困惑爲什麼運行時無法將方法綁定到正確的對象上,即使對象是一個id?據我的理解,dynamic binding或dynamic typing是編譯器無法知道id背後的對象,但運行時應該知道這一點,並選擇正確的對象作爲消息的接收者。但爲什麼運行時無法做到這一點

    4熱度

    3回答

    我剛剛通讀了有關同一主題的所有搜索結果,我現在在stackoverflow中詢問,它並不真正回答我的好奇心。但是這是事情。 問題 1)據我所知,靜態綁定意味着它在編譯時設置,而且在運行過程中的存在,而動態綁定意味着它在運行時設置。 2.)所以我讀的書介紹了動態數組,它提到動態數組大小可以在運行時設置。這樣做是以這種方式完成的。 守則 int size; cin >> size; int * p

    3熱度

    1回答

    假設我有這三類: class Foo { void fn() { System.out.println("fn in Foo"); } } class Mid extends Foo { void fn() { System.out.println("fn in Mid"); } } class Bar extends M

    11熱度

    3回答

    我知道binding表單允許在clojure中重新綁定動態範圍。到目前爲止,我見過的唯一用途是用於I/O,比如print,其中*out*可以反彈到您當時想要的任何作家。 我希望看到一些真正利用binding功能的例子,其中的其他設施真的不起作用。就我個人而言,我只在使用用戶提供的對象到所有函數時非常乏味的情況下才使用它。基本上是我嘗試創建輔助函數使用的上下文的情況。 (類似於這種情況When sh

    0熱度

    1回答

    根據Apple的Objective C指南,具有相同名稱的方法都使用相同的選擇器,並且它們需要具有相同的返回類型以及參數。 然後有一些關於「靜態類型」的方法是例外。 所以它是具有相同名稱和返回類型+參數共享選擇器,但如果它只是相同的名稱,但不同的返回類型和/或參數,它將有一個不同的選擇器 - 如果你發送了這樣的信息給它...好吧,我不知道。

    1熱度

    4回答

    功率考慮以下示例代碼: class Base { public: void f(); virtual void vf(); }; class Derived : public Base { public: void f(); void vf(); }; #include <iostream> using namespace std; v

    0熱度

    1回答

    我使用客戶端對象模型開發Silverlight Web部件。我在我的項目的一個轉換器如下 public class ForeGroundConverter : IValueConverter { public ForeGroundConverter() { } public object Convert(object value, Typ

    1熱度

    1回答

    我有一個連接到單個MYSQL數據庫的小MVC應用程序。我在Ninject中設置了在應用程序啓動過程中綁定connectionString。該代碼是這樣的: 的Global.asax.cs: protected void Application_Start() { ... ControllerBuilder.Current.SetControllerFactory(new Ninjec

    1熱度

    3回答

    問題說什麼,在Java中動態綁定哪些方法? 來自C++,如果我沒有弄錯,大多數方法都是靜態綁定的,但有一些例外。

    3熱度

    2回答

    我剛開始學習Objective-C,我被斯蒂芬·G·庫奇閱讀Objective-C的第三版編程。 有一個段落說明多態性機構: 在運行時,Objective-C運行系統將檢查實際的類對象的存儲內dataValue1(一個id對象)並選擇適當的方法從正確的類到執行。然而,在更一般的情況下,編譯器可能產生不正確的代碼將參數傳遞給方法或處理,如果一個方法把一個對象作爲參數,另一個花了浮點其回報價值。會發生