1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5
6 namespace 类_继承
7 {
8 // 基类 : 动物
9 public abstract class Animal
10 {
11 private int _age;
12 public int Age
13 {
14 get { return this._age; }
15 set
16 {
17 if (value < 0 || value > 10)
18 {
19 throw (new ArgumentOutOfRangeException("AgeIntPropery", value, "年龄必须在0-10岁之间"));
20 }
21 this._age = value;
22 }
23 }
24
25 // virtual修饰基类的Print()方法, 在子类中 override重写 实现子类实际需求
26 public virtual void Print()
27 {
28 }
29
30 }
31
32 // 子类 : 马 (继承基类 : Animal)
33 public class Horse : Animal
34 {
35 // 重写基类的Print()方法;
36 public override void Print()
37 {
38 Console.WriteLine("马的年龄为 : {0} 岁", this.Age);
39 }
40 }
41
42 // 子类 : 羊 (继承基类 : Animal)
43 public class Sheep : Animal
44 {
45 // 重写基类的Print()方法;
46 public override void Print()
47 {
48 Console.WriteLine("羊的年龄为 : {0} 岁", this.Age);
49 }
50 }
51
52 class Program
53 {
54 static void Main(string[] args)
55 {
56 Horse horse = new Horse();
57 horse.Age = 2;
58 horse.Print();
59
60 Sheep sheep = new Sheep();
61 sheep.Age = 9;
62 sheep.Print();
63
64 Console.ReadLine();
65 }
66 }
67 }