属性方法
1using System;
2
3class Base
4{
5 /**//*
6 * public 的可访问范围是所有类
7 * private 的可访问范围是当前类
8 * protected 的可访问范围是当前类及其子类
9 */
10 public string name = "Tom";
11 private double salary = 1500;
12 protected int age = 20;
13
14 public virtual void ShowInfo()
15 {
16 Console.WriteLine(this.name); //可以,因为name是 public 型的
17 Console.WriteLine(this.salary); //可以,salary是private型,在Base类中可以访问
18 Console.WriteLine(this.age); //可以,因为age是protected型,在子类中可以访问
19 }
20}
21
22class Derived : Base
23{
24 public override void ShowInfo()
25 {
26 Console.WriteLine(this.name); //可以,因为name是 public 型的
27 //Console.WriteLine(this.salary); //不可以,salary是private型,超出Base就无法访问
28 Console.WriteLine(this.age); //可以,因为age是protected型,在子类中可以访问
29 }
30}
31
32class Client
33{
34 public static void Main()
35 {
36 Base b = new Base();
37 Console.WriteLine(b.name); //可以,因为name是 public 型的
38 //Console.WriteLine(this.salary); //不可以,salary是private型,超出Base就无法访问
39 //Console.WriteLine(this.age); //不可以,因为age是protected型,Client不是Base的子类
40
41 Console.WriteLine("==========================");
42 b.ShowInfo();
43 Console.WriteLine("==========================");
44 Derived d = new Derived();
45 d.ShowInfo();
46 }
47}
1using System;
2
3class Base
4{
5 /**//*
6 * public 的可访问范围是所有类
7 * private 的可访问范围是当前类
8 * protected 的可访问范围是当前类及其子类
9 */
10 public string name = "Tom";
11 private double salary = 1500;
12 protected int age = 20;
13
14 public virtual void ShowInfo()
15 {
16 Console.WriteLine(this.name); //可以,因为name是 public 型的
17 Console.WriteLine(this.salary); //可以,salary是private型,在Base类中可以访问
18 Console.WriteLine(this.age); //可以,因为age是protected型,在子类中可以访问
19 }
20}
21
22class Derived : Base
23{
24 public override void ShowInfo()
25 {
26 Console.WriteLine(this.name); //可以,因为name是 public 型的
27 //Console.WriteLine(this.salary); //不可以,salary是private型,超出Base就无法访问
28 Console.WriteLine(this.age); //可以,因为age是protected型,在子类中可以访问
29 }
30}
31
32class Client
33{
34 public static void Main()
35 {
36 Base b = new Base();
37 Console.WriteLine(b.name); //可以,因为name是 public 型的
38 //Console.WriteLine(this.salary); //不可以,salary是private型,超出Base就无法访问
39 //Console.WriteLine(this.age); //不可以,因为age是protected型,Client不是Base的子类
40
41 Console.WriteLine("==========================");
42 b.ShowInfo();
43 Console.WriteLine("==========================");
44 Derived d = new Derived();
45 d.ShowInfo();
46 }
47}