c# 类的public private internal protected的区别

 

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里面的是私有.
     }
 }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值