【发布时间】:2014-02-11 09:38:01
【问题描述】:
我在一个程序集中定义了以下类型。
public class TestAccessSpecifiers
{
public int Public { get; set; }
protected int Protected { get; set; }
private int Private { get; set; }
public void SetValues()
{
Public = 10;
Protected = 20;
Private = 30;
}
}
public class NewDerived : TestAccessSpecifiers
{
public void SetProtected()
{
Protected = 199;
}
}
在另一种类型中,我正在使用这种类型,无论我是否为受保护的财产提供受保护的或受保护的内部,我都可以从这个其他程序访问它。那么两者设置有什么区别。
class Program
{
static void Main(string[] args)
{
TestAccessSpecifiers obj = new TestAccessSpecifiers();
obj.SetValues();
obj.Public = 100;
Console.WriteLine(Convert.ToString(obj.Public));
Console.ReadLine();
}
}
class Derived : TestAccessSpecifiers
{
public void SetNewValues()
{
Public = 200;
Protected = 500;
}
}
【问题讨论】:
-
这个问题与 C 究竟有什么关系?从你的语法来看,它是 C++ 而不是 Java。
-
其实是C#。不小心选择了错误的标签。我已经编辑过了。
标签: c#