面向对象三大特性:封装,继承与多态,这里讲一下后两个特性。

继承

继承:指一个对象延续另一个对象的特征(属性和方法),并且有自己的个性特征(属性和方法)。

必要性:代码复用,避免重复;一处更新,处处更新。与封装不同的是,封装主要是封装一个方法、一个类,使用时直接调用不能更改;继承主要讲需要的属性和方法(主要是方法)进行“封装”,且要使用时还可以继续扩展自己的特性(继续增加、修改方法--方法重写)。

使用广泛:C#里,Object类是所有类的基类,winform里面所有控件都继承于Control类。

父类与子类:当A继承于B时,A是子类(或叫派生类),B是父类(或叫基类或超类)。

传递性:A→B,B→C,C具有A的特性。

单根性:一个子类只能有一个父类,一个父类可以有若干子类。

protected:只有父类与子类才能访问。

sealed:密封类,不允许有子类,有利于保护知识产权。

父类与子类关系:父类完全包含于子类,子类完全包含父类:

C#基础--继承与多态

举例说明一下继承的好处

需求说明:

设计玩具猫、玩具狗相关程序,要求:

属性:姓名,自身颜色,自己类别,喜好食物

动作:自我介绍,跳舞,赛跑

常规实现:

Models--Cat

 1 namespace InheritanceTest
 2 {
 3     class Cat
 4     {
 5         public string Name { get; set; }
 6         public string Color { get; set; }
 7         public string Kind { get; set; }
 8         public string Favorite { get; set; }
 9 
10         public void Introduce()
11         {
12             Console.WriteLine("Hi, My name is{0}, I'm a {1}, I'm in {2}, and I like eat {3} very much! ",Name,Kind, Color,Favorite);
13         }
14 
15         public void Dancing()
16         {
17             Console.WriteLine("Now I dancing for you!");
18         }
19 
20     }
21 }
View Code

相关文章: