天天看點

通路修飾符

前面我們已經看到并運用了通路修飾符,現在我們來進一步的掌握。

類成員支援五種通路修飾

通路不受限制

public(公共的)

通路範圍限定于它所屬的類或從該類派生的類型

protected (保護的)

通路範圍限定于此程式

internal(内部的)

通路範圍限定于此程式或那些由它所屬的類派生的類型

protected internal(内部保護的)

通路範圍限定于它所屬的類型

private(私有的)

注意:上面這些修飾都是對類而言的,以上的通路修飾符描述的對類内部成員的通路可見修飾。

publc所修飾值是完全公開的,不管是子類還是同程式集(代碼可見範圍)都是可以通路的。

protected所修飾值除了類本身,子類也可以通路

internal所修飾值除了類本身,同程式集(代碼可見範圍)都是可以通路的。

protected internal所修飾值除了類本身,子類或同程式集(代碼可見範圍)都是可以通路的。

private所修飾值除了類本身,都不可以通路。

舉一個俗氣的例子,你中了500W大獎,是個有錢人啦,要對自己的财務做點規劃。

第一筆錢,大家都可以用,狐朋狗友阿,親屬阿,老婆孩子啊,所需花費都可以用這筆錢。

第二筆錢,給你孩子留得,将來的教育基金阿,嫁妝娶老婆啊,等等

第三筆錢,給你的親屬的,父母,嶽父嶽母,親戚,老婆等等

第四筆錢,使家族基金,家族中不管老幼還是你孩子或是你的私生子都可用。

最後一筆錢,是你的私房錢,連老婆都不可以曉得。

1

通路修飾符

 public class Space

2

通路修飾符

 {

3

通路修飾符

4

通路修飾符

 public static void Main(string[] args)

5

通路修飾符

6

通路修飾符

 //錯誤CostPrice不可以通路

7

通路修飾符

 System.Console.WriteLine(new SalesContract().CostPrice);

8

通路修飾符

9

通路修飾符

 //在代碼可以同見範圍内,PreferentialPrice可以通路

10

通路修飾符

 System.Console.WriteLine(new SalesContract().PreferentialPrice);

11

通路修飾符

12

通路修飾符

 }

13

通路修飾符

14

通路修飾符

15

通路修飾符

16

通路修飾符

17

通路修飾符

18

通路修飾符

 public class Contract//合同

19

通路修飾符

20

通路修飾符

 public string Buyer;//買方

21

通路修飾符

 public string Seller;//賣方

22

通路修飾符

 protected double CostPrice;//成本價(隻有子類和自身可以通路)

23

通路修飾符

24

通路修飾符

25

通路修飾符

26

通路修飾符

 public class SalesContract : Contract//銷售合同 

27

通路修飾符

28

通路修飾符

 private double MinimumPrice;//最低價

29

通路修飾符

 public double SalePrice;//銷售價格 

30

通路修飾符

 public bool CheckPrice()//價格檢查

31

通路修飾符

32

通路修飾符

 //CostPrice在本類不必聲明,基類已經聲明了

33

通路修飾符

 return SalePrice < Math.Min(MinimumPrice, CostPrice);

34

通路修飾符

35

通路修飾符

 internal double PreferentialPrice;//優惠價

36

通路修飾符

本文轉自shyleoking 51CTO部落格,原文連結:http://blog.51cto.com/shyleoking/806296