第一章新增例题:访问修饰符
该例题对教材1.3.1提到的访问修饰符(public、protected、private)的可访问性进行演示
1
using System;
2
3
namespace private_prtected_public
4
{
5
/// <summary>
6
/// Class1 的摘要说明。
7
/// </summary>
8
class Class1
9
{
10
public string s1="公有修饰符 public";
11
private string s2="私有修饰符 private";
12
protected string s3="保护修饰符 protected";
13
/// <summary>
14
/// 应用程序的主入口点。
15
/// </summary>
16
[STAThread]
17
static void Main(string[] args)
18
{
19
Console.WriteLine("Class1内部访问");
20
Class1 c1=new Class1();
21
c1.vistedAll();
22
23
Console.WriteLine("Class1的派生类中访问");
24
Class2 c2=new Class2();
25
c2.vistedAll();
26
27
Console.WriteLine("Class1外部访问");
28
Class3 c3=new Class3();
29
c3.vistedAll();
30
}
31
32
//Class1内部访问
33
public void vistedAll()
34
{
35
36
Console.WriteLine(s1);
37
Console.WriteLine(s2);
38
Console.WriteLine(s3);
39
}
40
}
41
42
class Class2:Class1
43
{
44
//Class1的派生类中访问
45
new public void vistedAll()
46
{
47
Console.WriteLine(s1);
48
//不可访问Class1中的private修饰的成员
49
//Console.WriteLine(s2);
50
Console.WriteLine(s3);
51
}
52
}
53
54
class Class3
55
{
56
//Class1外部访问
57
public void vistedAll()
58
{
59
60
Class1 c1=new Class1();
61
Console.WriteLine(c1.s1);
62
//不可访问Class1中的private修饰的成员
63
//Console.WriteLine(c1.s2);
64
//不可访问Class1中的protected修饰的成员
65
//Console.WriteLine(c1.s3);
66
}
67
}
68
}
完整例题代码下载:private_prtected_public.rar
using System;2

3
namespace private_prtected_public4
{5
/// <summary>6
/// Class1 的摘要说明。7
/// </summary>8
class Class19
{10
public string s1="公有修饰符 public";11
private string s2="私有修饰符 private";12
protected string s3="保护修饰符 protected"; 13
/// <summary>14
/// 应用程序的主入口点。15
/// </summary>16
[STAThread]17
static void Main(string[] args)18
{19
Console.WriteLine("Class1内部访问");20
Class1 c1=new Class1();21
c1.vistedAll();22

23
Console.WriteLine("Class1的派生类中访问");24
Class2 c2=new Class2();25
c2.vistedAll();26

27
Console.WriteLine("Class1外部访问");28
Class3 c3=new Class3();29
c3.vistedAll();30
}31

32
//Class1内部访问33
public void vistedAll()34
{35

36
Console.WriteLine(s1);37
Console.WriteLine(s2);38
Console.WriteLine(s3);39
}40
}41

42
class Class2:Class143
{44
//Class1的派生类中访问45
new public void vistedAll()46
{47
Console.WriteLine(s1);48
//不可访问Class1中的private修饰的成员49
//Console.WriteLine(s2);50
Console.WriteLine(s3);51
}52
}53

54
class Class355
{56
//Class1外部访问57
public void vistedAll()58
{59

60
Class1 c1=new Class1();61
Console.WriteLine(c1.s1);62
//不可访问Class1中的private修饰的成员63
//Console.WriteLine(c1.s2);64
//不可访问Class1中的protected修饰的成员65
//Console.WriteLine(c1.s3);66
}67
}68
}


浙公网安备 33010602011771号