访问修饰符

前面我们已经看到并运用了访问修饰符,现在我们来进一步的掌握。


类成员支持五种访问修饰

访问不受限制public(公共的)
访问范围限定于它所属的类或从该类派生的类型protected (保护的)
访问范围限定于此程序internal(内部的)
访问范围限定于此程序或那些由它所属的类派生的类型protected internal(内部保护的)
访问范围限定于它所属的类型private(私有的)

注意:上面这些修饰都是对类而言的,以上的访问修饰符描述的对类内部成员的访问可见修饰。

publc所修饰值是完全公开的,不管是子类还是同程序集(代码可见范围)都是可以访问的。

protected所修饰值除了类本身,子类也可以访问

internal所修饰值除了类本身,同程序集(代码可见范围)都是可以访问的。

protected internal所修饰值除了类本身,子类或同程序集(代码可见范围)都是可以访问的。

private所修饰值除了类本身,都不可以访问。

举一个俗气的例子,你中了500W大奖,是个有钱人啦,要对自己的财务做点规划。
第一笔钱,大家都可以用,狐朋狗友阿,亲属阿,老婆孩子啊,所需花费都可以用这笔钱。
第二笔钱,给你孩子留得,将来的教育基金阿,嫁妆娶老婆啊,等等
第三笔钱,给你的亲属的,父母,岳父岳母,亲戚,老婆等等
第四笔钱,使家族基金,家族中不管老幼还是你孩子或是你的私生子都可用。
最后一笔钱,是你的私房钱,连老婆都不可以晓得。

 1 None.gif      public   class  Space
 2 ExpandedBlockStart.gifContractedBlock.gif     dot.gif {
 3InBlock.gif
 4InBlock.gif        public static void Main(string[] args)
 5ExpandedSubBlockStart.gifContractedSubBlock.gif        dot.gif{
 6InBlock.gif            //错误CostPrice不可以访问
 7InBlock.gif            System.Console.WriteLine(new SalesContract().CostPrice);
 8InBlock.gif
 9InBlock.gif            //在代码可以同见范围内,PreferentialPrice可以访问
10InBlock.gif            System.Console.WriteLine(new SalesContract().PreferentialPrice);
11InBlock.gif
12ExpandedSubBlockEnd.gif        }

13InBlock.gif
14InBlock.gif
15InBlock.gif
16ExpandedBlockEnd.gif    }

17 None.gif
18 None.gif     public   class  Contract // 合同
19 ExpandedBlockStart.gifContractedBlock.gif      dot.gif {
20InBlock.gif        public string Buyer;//买方
21InBlock.gif        public string Seller;//卖方
22InBlock.gif        protected double CostPrice;//成本价(只有子类和自身可以访问)
23ExpandedBlockEnd.gif    }

24 None.gif
25 None.gif
26 None.gif     public   class  SalesContract : Contract // 销售合同 
27 ExpandedBlockStart.gifContractedBlock.gif      dot.gif {
28InBlock.gif        private double MinimumPrice;//最低价
29InBlock.gif        public double SalePrice;//销售价格  
30InBlock.gif        public bool CheckPrice()//价格检查
31ExpandedSubBlockStart.gifContractedSubBlock.gif        dot.gif{
32InBlock.gif            //CostPrice在本类不必声明,基类已经声明了
33InBlock.gif            return SalePrice < Math.Min(MinimumPrice, CostPrice);
34ExpandedSubBlockEnd.gif        }

35InBlock.gif        internal double PreferentialPrice;//优惠价
36ExpandedBlockEnd.gif    }


转载于:https://www.cnblogs.com/shyleoking/archive/2007/02/02/638119.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值