继承的可见性

来源:互联网 发布:php多文件上传例子 编辑:程序博客网 时间:2024/04/29 23:58
继承的可见性
C#中通过继承,子类将拥有除父类的构造函数和析构函数以外的所有的成员.注意这里的"拥有"和"可见性"是两个概念.拥有某个成员是指该成员确确实实地存在于该类中,但如果该成员的访问权限不允许该成员在继承的子类中可见(比如private,internal),我们将不能在子类中对他们进行操作——但这不表示他们不存在.
public class ColorBox: Box
{
private int color;
public void SetColor(int c)
{
color=c;
}
new public void print( )
{
Console.WriteLine("ColorBox Width:{0},Height{1}", width,height);
Console.WriteLine("ColorBox color: {0}", color);
}
}
new关键字可以使子类在继承的时候屏蔽同名的父类成员,注意这里屏蔽的意思同样是"不可见",而非"删除".在子类ColorBox类中,屏蔽了父类成员print方法.如果确实需要在子类中调用父类的成员,可以使用base关键字访问父类的成员.
原创粉丝点击