📄 9-3.cs
字号:
//程序9-3
using System;
public class BasCls
{
protected int x;
public void Func( BasCls a, DerCls1 b, DerCls2 c)
{
a.x = 1; // 可以访问,实际上是访问基类的x
b.x = 1; // 可以访问,实际上是访问基类的x
// c.x=1; // 可以访问c.x
// c.y=1; // 不能访问c.y
Console.WriteLine("a.x={0} b.x={1} c.x={2}", a.x,b.x,c.x);
}
}
public class DerCls1: BasCls
{
public void Func(BasCls a, DerCls1 b)
{ // a.x = 1; // 不能访问,它是来自参数a中的成员,而非基类中的x
b.x = 4; // 可以访问,实际上是访问基类的x
}
}
public class DerCls2: BasCls
{
new protected int x; // 隐藏了基类的x
protected int y=9;
public DerCls2( )
{ }
public DerCls2(int i)
{
base.x=i; // 初始化基类的x
}
public int TheX // 属性访问器,访问自己的x
{
get{return x ;}
set {x=value;}
}
}
public class ATrial
{
public static void Main()
{
BasCls aa = new BasCls ( );
DerCls1 bb = new DerCls1( );
DerCls2 cc = new DerCls2(6);
cc.TheX=8;
Console.WriteLine("the x in cc="+cc.TheX);
aa.Func(aa,bb,cc);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -