abstract class Component
{
public abstract void Operation();
}
abstract class Decorator : Component
{
protected Component component;
public void SetComponent(Component component)
{
this.component = component;
}
}
我必须上面的代码,受保护的Component组件是什么意思;我知道protected是它的可见性但是Component组件是组件变量,它的数据类型是Component?
答案 0 :(得分:0)
定义以下内容:
protected Component component;
protected
定义了辅助功能。 Component
是数据类型。 component
就是这个名字。
答案 1 :(得分:0)
你问题的答案是(基本上):是的。
在这种情况下,定义的变量是一个字段。来自Fields (C# Programming Guide):
字段是直接在类或结构中声明的任何类型的变量。
正如您已经假设的那样,这三个部分意味着:
protected
是辅助功能级别。阅读Access Modifiers (C# Reference) Component
是数据类型。阅读Types (C#-Reference) component
是变量的名称。阅读Identifiers (C# Language Specification) 通常,变量声明如下:
<datatype> <name>;
或初始值:
<datatype> <name> = <value>;
对于字段声明,您显然可以指定辅助功能级别:
<accessibility> <datatype> <name>;
<accessibility> <datatype> <name> = <value>;
如果您未指定辅助功能级别(它是可选的),则默认情况下您的字段将为私有字段。
要了解这一切,您应该从tutorial on C#和C# Datatypes开始。