属性、方法作用范围

ContractedBlock.gif ExpandedBlockStart.gif 属性方法
 1None.gifusing System;
 2None.gif
 3None.gifclass Base
 4ExpandedBlockStart.gifContractedBlock.gifdot.gif{
 5ExpandedSubBlockStart.gifContractedSubBlock.gif    /**//*
 6InBlock.gif     * public 的可访问范围是所有类
 7InBlock.gif     * private 的可访问范围是当前类
 8InBlock.gif     * protected 的可访问范围是当前类及其子类
 9ExpandedSubBlockEnd.gif     */

10InBlock.gif    public string name = "Tom";
11InBlock.gif    private double salary = 1500;
12InBlock.gif    protected int age = 20;
13InBlock.gif
14InBlock.gif    public virtual void ShowInfo()
15ExpandedSubBlockStart.gifContractedSubBlock.gif    dot.gif{
16InBlock.gif        Console.WriteLine(this.name);    //可以,因为name是 public 型的
17InBlock.gif        Console.WriteLine(this.salary);    //可以,salary是private型,在Base类中可以访问
18InBlock.gif        Console.WriteLine(this.age);    //可以,因为age是protected型,在子类中可以访问
19ExpandedSubBlockEnd.gif    }

20ExpandedBlockEnd.gif}

21None.gif
22None.gifclass Derived : Base
23ExpandedBlockStart.gifContractedBlock.gifdot.gif{
24InBlock.gif    public override void ShowInfo()
25ExpandedSubBlockStart.gifContractedSubBlock.gif    dot.gif{
26InBlock.gif        Console.WriteLine(this.name);    //可以,因为name是 public 型的
27InBlock.gif        //Console.WriteLine(this.salary);    //不可以,salary是private型,超出Base就无法访问
28InBlock.gif        Console.WriteLine(this.age);    //可以,因为age是protected型,在子类中可以访问
29ExpandedSubBlockEnd.gif    }

30ExpandedBlockEnd.gif}

31None.gif
32None.gifclass Client
33ExpandedBlockStart.gifContractedBlock.gifdot.gif{
34InBlock.gif    public static void Main()
35ExpandedSubBlockStart.gifContractedSubBlock.gif    dot.gif{
36InBlock.gif        Base b = new Base();
37InBlock.gif        Console.WriteLine(b.name);    //可以,因为name是 public 型的
38InBlock.gif        //Console.WriteLine(this.salary);    //不可以,salary是private型,超出Base就无法访问
39InBlock.gif        //Console.WriteLine(this.age);    //不可以,因为age是protected型,Client不是Base的子类
40InBlock.gif
41InBlock.gif        Console.WriteLine("==========================");
42InBlock.gif        b.ShowInfo();
43InBlock.gif        Console.WriteLine("==========================");
44InBlock.gif        Derived d = new Derived();
45InBlock.gif        d.ShowInfo();
46ExpandedSubBlockEnd.gif    }

47ExpandedBlockEnd.gif}

转载于:https://www.cnblogs.com/geovindu/archive/2005/12/19/300518.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值