2010-08-15 83 views
0

我想了解使用C#的觀察者模式,首先我有一個抽象類作爲Subject調用Stock,然後創建一個concreteSubject類,所以我打電話給它IBM,作爲concreteSubject類是打算從股票繼承,所以我做這樣的事情:在其他類的構造函數使用基類C#

class IBM : Stock 
{ 
    // Constructor 
    public IBM(string symbol, double price) 
     : base(symbol, price) 
    { 
    } 
} 

什麼我不明白的是「:基地(符號,價格)」我爲什麼要使用它?那意味着什麼?它看起來像它的繼承符號和價格變量,但爲什麼如果它們被聲明爲對市民IBM函數的參數

我從一個例子這個代碼,我發現:

http://www.dofactory.com/Patterns/PatternObserver.aspx#_self1

+0

注意,.NET使觀察者模式一流的結構稱爲事件。請參閱此鏈接的詳細信息:http://msdn.microsoft.com/en-us/library/ff648108.aspx – 2010-08-15 16:52:57

回答

2

它調用基類(Stock)的構造函數。如果您在Stock類的代碼看,它看起來像這樣

public class Stock { 
    private string _symbol; 
    private double _price; 

    public Stock(string symbol, double price) // this constructor is called 
    { 
     this._symbol = symbol; 
     this._price = price; 
    } 
} 

注意,只有在Stock類的構造函數,所以你必須把它的所有派生類的露骨base(symbol, price)

+0

好吧,我看到,我需要從IBM的構造函數調用股票的類構造函數,所以我傳遞參數它使用「:基地(符號,價格)」 謝謝 – KnightL3on 2010-08-15 17:28:39

0

該構造意味着IBM構造函數使用相同的參數調用構造函數Stock

構造函數IBM中通常會有一些額外的代碼。

有一個在MSDN Using Constructors (C# Programming Guide)

+0

好,現在我明白了,因爲我的IBM類是繼承自股票和股票具有這兩個參數的構造函數我將值傳遞給股票構造函數從IBM構造函數,這就是爲什麼我使用「:基地(符號,價格)」 我想我有這個清除 謝謝 – KnightL3on 2010-08-15 17:26:31

0

一些例子只是檢查以下資源,更好地理解建設:Constructors in C#

+0

謝謝你幫助我,現在我已經清除了這部分 – KnightL3on 2010-08-15 17:29:37

相關問題