黑马程序员技术交流社区
标题:
修饰符private protected public
[打印本页]
作者:
宋超
时间:
2012-3-23 19:17
标题:
修饰符private protected public
private
protected
public
这几个修饰符在C#有什么区别呀 ?
作者:
蓝汝逸
时间:
2012-3-23 19:30
private 关键字是一个成员访问修饰符。私有访问是允许的最低访问级别。私有成员只有在声明它们的类和结构体中才是可访问的,如下例所示:
class Employee
{
private int i;
double d; // private access by default
}
同一体中的嵌套类型也可以访问那些私有成员。
在定义私有成员的类或结构外引用它会导致编译时错误。
protected 关键字是一个成员访问修饰符。受保护成员在它的类中可访问并且可由派生类访问。有关 protected 与其他访问修饰符的比较,请参见可访问性级别。
仅当访问通过派生类类型发生时,基类的受保护成员在派生类中才是可访问的。例如,请看以下代码段:
// protected_keyword.cs
using System;
class A
{
protected int x = 123;
}
class B : A
{
static void Main()
{
A a = new A();
B b = new B();
// Error CS1540, because x can only be accessed by
// classes derived from A.
// a.x = 10;
// OK, because this class derives from A.
b.x = 10;
}
}
语句 a.x =10 将生成错误,因为 A 不是从 B 派生的。
结构成员无法受保护,因为无法继承结构。
public 关键字是类型和类型成员的访问修饰符。公共访问是允许的最高访问级别。对访问公共成员没有限制,如下例所示:
class SampleClass
{
public int x; // No access restrictions.
}
作者:
→篱誸de~箭
时间:
2012-3-23 19:52
private 私有只能在本类访问
protectedq 受保护成员在其所在的类中可由派生类实例访问。
public 访问权限最高的妄言访问修饰符
作者:
杨华威
时间:
2012-3-23 21:21
1.public(公有的):可以被该类的和非该类的任何成员访问。
2.private(私有的):仅仅可以被该类的成员访问,任何非该类的成员一概不能访问。(主要是隐藏数据来保证数据的安全性)
3.protected(保护的):仅仅可以被子类和类本身还有同一个包里的类访问。protected 表明被它修饰的成员变量为保护类型,在同一个包里和 public 类型是一样的,也是能够访问到的。但是如果在不同包里的 protected 类型的成员变量就只能通过子类来访问,这个修饰符是区别于其他的修饰符的。
作者:
韩迎龙
时间:
2012-3-23 21:31
public 可以再任何地方被访问。
internal 只能在本项目中被访问
private 只能在本类中被访问
protected 只能在本类或者子类中被访问。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2