我终于有时间教一个孩子理解和使用访问修饰符和oop基和这个关键字。为什么在这种情况下,我没有设置基类的属性
和我做了一个简单的,我认为在世界上最简单的类
public class Creature
{
protected string Name {get; private set; }
protected int Numberlegs { get; set; }
public Creature(string name)
{
this.Name = name;
}
protected void Walk()
{
Console.WriteLine("Walking, walking, walking ....In Creature Method");
}
}
因此,这里的派生类哺乳动物
public class Mammal : Creature
{
public int Age { get; set; }
public Mammal(string namen, int age)
: base(namen)
{
this.Age = age;
base.Numberlegs = 4;
}
public void Sleep()
{
Console.WriteLine("Shhh! {0} is sleeping!", this.Name);
}
public void Walk()
{
Console.WriteLine(this.Name+ " has started walking with "+this.Numberlegs + " legs");
base.Walk();
}
临屋的情况是如此简单 - 你看,我有一个受保护property Numberlegs
in Creature
Class;
在构造函数中Mammal
类我有
base.Numberlegs = 4;
所以我知道此行应该设置Numberlegs
财产,但不Mamal
类,但在它的基类 - >Creature
。 我认为,当我呼吁Walk()方法的MAMAL
类这个.Numberlegs将是0 - >但它是4;
在你的代码没有哺乳动物类物业Numberlegs的压倒一切的,所以物业只是,它已经从基类 –