我正在尝试使用C#理解观察者模式,首先我有一个抽象类作为Subject调用Stock,然后我正在创建一个concreteSubject类,所以我将它称为IBM,因为具体的主题类是要从Stock继承,所以我做这样的事情:
class IBM : Stock
{
// Constructor
public IBM(string symbol, double price)
: base(symbol, price)
{
}
}
我不明白的是:“基础(符号,价格)”我为什么要使用它?那意味着什么?看起来它继承了符号和价格变量,但是为什么它们被声明为公共IBM函数的参数
我从我找到的示例中获取此代码:
http://www.dofactory.com/Patterns/PatternObserver.aspx#_self1
答案 0 :(得分: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)
在所有派生类中显式调用它。
答案 1 :(得分:0)
此构造意味着IBM
构造函数使用相同的参数调用Stock
构造函数。
IBM
构造函数中通常会有一些额外的代码。
答案 2 :(得分:0)
只需检查以下资源,以便更好地了解该构造:Constructors in C#