再谈protected关键字

    我们知道在C#中关于访问级别有public、protected、internal、protected internal和private五种访问级别。其中C#的类默认访问级别是internal的,而对于类中的成员(字段和方法)是private级别的。在这里我们在来看一下非常有意思的protected关键字的使用注意事项。

    protected是受保护限制的,也就是说只有子类可以访问protected修饰的成员,那么实际情况是什么样的呢。我们来看一个代码示例:

namespace MySpace
{
    public class A
    {
        protected string name;
    }

    public class B : A 
    {
        public void Test()
        {
            A a = new A();
            //a.name; 这里访问不到
            Console.WriteLine(this.name);//可以访问
        }
    }
}

     通过上面的例子我们总结出:对于protec的关键字来说,子类可以通过继承关系直接访问,而不能通过创建父类的引用的方式来访问。对于这一点相对于java同样适用。

猜你喜欢

转载自blog.csdn.net/tonysong111073/article/details/7245308