2015-12-02 124 views
0

假设什么时候被实例化我有这样的代码调用基类的构造

class administrator: uzivatel 
{ 
    public administrator(string jmeno,string prijmeni) : base(jmeno,prijmeni) { } 

    public string Jmeno 
    { 
     get { return base.jmeno; } 
    } 
} 

类从uzivateladministrator继承并调用基类的构造其实例变量jmeno和可变prijmeni

这些变量是从父类继承的。财产jmeno将返回this.jmeno,据我了解,但它也可以返回值base.jmeno

当没有创建类uzivatel的创建对象时,如何返回base.jmeno

+3

_Class uzivatel从类administrator_继承,号管理员继承uzivatel。 –

+4

*“当uzivatel没有创建的对象时,如何返回base.jmeno”*'Administrator'是类“uzivatel”的对象,因此base指的是'uzivatel'的继承部分。它返回一个属性值,而不是'uzivatel'。 –

+1

@JabBohac你怎么没有参考[MSDN C#Reference'base'](https://msdn.microsoft.com/en-us/library/hfw7t1ce.aspx) – MethodMan

回答

2

您可能想了解更多关于继承和它如何工作的信息。

这个作品之所以是因为一个administrator对象是Auzivatel对象!这意味着当您使用调用基类的构造函数实例化adminstrator时,还会调用基类的构造函数。这允许其他变量被初始化。

你还别说

酒店jmeno将返回this.jmeno,我理解,但它也可以可以返回base.jmeno的价值。

不完全是。在这种情况下base.jmeno == this.jmeno,因为如前所述您的administrator对象IS Auzivatel对象。记住继承意味着子类继承其超类的所有属性,字段和方法。