现在的位置: 首页 > 综合 > 正文

c# 类的public private internal protected的区别

2013年10月31日 ⁄ 综合 ⁄ 共 925字 ⁄ 字号 评论关闭

C#的类和Java一样有影响的范围限制

public 修饰的类,可以在整个系统的任意地方调用,是完全公开的.

private 相反的,只能在类内部调用.任何实例,无法调用private调用.

internal 仅为同项目(这里的项目是只单独的项目,而不是整个解决方案)调用,按照我的理解,应该是和java的friendly一样的效果.

protected 自己及自己的子类可以调用

好象和java相差就一个internal和friendly

================================================

这三个修饰符如果修饰的都是类中的成员的话,public 修饰的成员可以被所有的类访问(本类,别的类,本类的子类),private修饰的成员只能被本类访问,protected修饰的成员只能被本类和本类的子类所访问。

================================================

public意思是指变量可以被继承的类和new的实例条用.作用于全域.
private 只能在基类中使用. 继承的,实例后的都不可以.

using System;
class Vehicle
{
public int wheel; //公有变量wheel,
private float weight: //私有变量weight
public void F()
{
wheel=4; //合法调用
weight=2.2; //合法调用.
}
}

class Train
{
public int num; //公有变量 num
private int passenger; //私有变量passenger
public void F()
{
num=4; //合法
passenger=100; //合法
Vehicle v= new Vehicle();
v.wheel=4; //合法, 调用到Vehicle的类中变量.
v.weight=2.2; //不合法. 因为vehicle中的weight是私有的.
}
}

class Car:Vehicle //car的类继承自vehicle类.
{
int passenger;
public void K()
{
wheel=6; //合法.
weight=4.2 //不合法. //因为vehicle里面的是私有.
}
}

抱歉!评论已关闭.