C#继承浅谈

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

在面向对象当中继承是非常重要的,也是面向对象的三大特性之一(继承、封装、多态),今天以粗鄙之谈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调用父类中的内容。继承可以减少代码的冗余,也为程序的修改提供了很大的方便之处,具体的好处可能一时半会感受不出来.

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


  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值