文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>重载与隐藏的经典例子补充

重载与隐藏的经典例子补充

时间:2011-03-21  来源:hfliyi

在人的世界中,在不同的环境中表现不同的角色,并且遵循不同的规则,比如:在学校我们是学生,回到家是儿女,在车上是乘客。同一个在不同的情况下,代表了不同的身份。

比如:在家里可以撒娇

        在学校可以打球

       在车上可以买票?

那么?在面向对象中,如何表到这种复杂的关系呢?

View Code
  1  interface IPerson
2 {
3 string Name
4 {
5 get;
6 set;
7 }
8 Int32 Age
9 {
10 get;
11 set;
12 }
13 void DoWork();
14 }
15
16 class PersonAtHome : IPerson
17 {
18 public PersonAtHome()
19 {
20 }
21 public PersonAtHome(string name, Int32 age)
22 {
23 this.name = name;
24 this.age = age;
25 }
26
27 private string name;
28 public string Name
29 {
30 set { name = value; }
31 get { return name; }
32 }
33 private Int32 age;
34 public Int32 Age
35 {
36 set { age = value; }
37 get { return age; }
38 }
39 public void DoWork()
40 {
41 Console.WriteLine(Name+"CanBeSpoil()");
42 }
43 }
44 class PersonAtSchool : IPerson
45 {
46 public PersonAtSchool()
47 {
48 }
49 public PersonAtSchool(string name, Int32 age)
50 {
51 this.name = name;
52 this.age = age;
53 }
54 private string name;
55 public string Name
56 {
57 set { name = value; }
58 get { return name; }
59 }
60 private Int32 age;
61 public Int32 Age
62 {
63 set { age = value; }
64 get { return age; }
65 }
66 public void DoWork()
67 {
68 Console.WriteLine(Name+"CanBeBasketball");
69 }
70 }
71 class PersonAtBus : IPerson
72 {
73 public PersonAtBus()
74 {
75 }
76 public PersonAtBus(string name, Int32 age)
77 {
78 this.name = name;
79 this.age = age;
80 }
81 private string name;
82 public string Name
83 {
84 set { name = value; }
85 get { return name; }
86 }
87 private Int32 age;
88 public Int32 Age
89 {
90 set { age = value; }
91 get { return age; }
92 }
93 public void DoWork()
94 {
95 Console.WriteLine(Name+"BuyTicket()");
96 }
97 }
98 class Program
99 {
100 static void Main(string[] args)
101 {
102 IPerson[] ip = new IPerson[3];
103 ip[0] = new PersonAtHome("张三",25);
104 ip[1] = new PersonAtSchool("李四",24);
105 ip[2] = new PersonAtBus("王五",23);
106 ip[0].DoWork();
107 ip[1].DoWork();
108 ip[2].DoWork();
109 }
110 }
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载