我有一个非常基本的问题,甚至可以惹恼你,但当我开始阅读Visual c#电子书时,我会想到这一点.
他们提到过::令人惊讶的是,Circle类目前没有实际用途.默认情况下,当您将方法和数据封装在类中时,该类会形成外部世界的边界.类中定义的字段(例如半径)和方法(例如Area)可以通过类中的其他方法看到,但不能被外部世界看到 - 它们是类的私有.因此,虽然您可以在程序中创建Circle对象,但是您无法访问其radius字段或调用其Area方法,这就是为什么该类没有多大用处!但是,您可以使用public修改字段或方法的定义
这是给出的Circle类
class Circle
{
int radius;
double Area()
{
return Math.PI * radius * radius;
}
}
Run Code Online (Sandbox Code Playgroud)
所以,私有字段是不可访问的,但是当我在我的Console项目中尝试这样的东西时,我正在成功运行它.是否我们在课堂上有主要功能,这就是为什么我可以通过Program类的对象来获取我的私有字段?
class Program
{
int number;
static void Main(string[] args)
{
Program ObjProgram = new Program();
ObjProgram.number = 10;
Console.ReadLine();
}
}
Run Code Online (Sandbox Code Playgroud)
您可以从同一个类中访问私有字段 - 该类的任何实例都可以访问任何其他实例的私有字段.
因此,您可以Program从内部创建并访问其私有字段Program.Main.
如果你从另一个类的方法尝试它,它将无法正常工作.
class Program
{
int number;
static void Main(string[] args)
{
Program ObjProgram = new Program();
ObjProgram.number = 10; // works fine
Console.ReadLine();
}
}
class SomeOtherClass
{
void SomeMethod()
{
Program program = new Program();
program.number = 10; // does not compile!
}
}
Run Code Online (Sandbox Code Playgroud)