C#继承浅谈

来源:互联网 发布:单片机复位电路原理 编辑:程序博客网 时间:2024/06/06 17:02

好歹留个学过面向对象的脚印。

在面向对象当中继承是非常重要的,也是面向对象的三大特性之一(继承、封装、多态),今天以粗鄙之谈C#继承。

例子:现在有3个动物:人、鸟、鹰,先总结它们共有的特点,都能吃(当然还有很多不一一例举),不同的:人不能飞,而鸟和鹰都可以飞,人是高等动物,鸟和鹰都不是。

using System;class Eat //共同特点:吃{    public string name{ get; set; }    public void eat()    {        Console.WriteLine("可以吃的:");    }}class Fly//不同特点:飞{    public string name { get; set; }    public void fly()    {        Console.WriteLine("能吃能飞的:");    }}class People:Eat{    public void people()    {        Console.WriteLine("{0}!",name);    }}class Bird : Fly{   public void bird()    {        Console.WriteLine("{0}!",name);    }    public void eagle()    {        Console.WriteLine("{0}!",name);    }}public class MainClass{    public static void Main()    {        People p = new People();        Bird b = new Bird();        p.name = "人";        b.name = "老鹰";        b.bird();        b.eagle();        p.people();    }}
输出结果: 能吃的:人

能飞能吃的:鸟 老鹰

这个小例子当中 鸟和老鹰都继承了同一个类fly:飞,而人不能飞 所以只继承了一个类eat,那有的人问了,那为什么鸟没有继承吃了,因为C#中派生类只能有一个父类,所以不能实现多继承,想要实现多继承就要运用到接口的知识。

总结:

父类包含了多少内容,派生类(子类)全部接受(包括属性 字段 方法等),可以重写覆盖,使用override重写,可以使用base调用父类中的内容。继承可以减少代码的冗余,也为程序的修改提供了很大的方便之处,具体的好处可能一时半会感受不出来.

在这编文章中有很多值得改进的地方


1 0
原创粉丝点击