c# 继承 c# 继承快速入门

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

c# 继承 c# 继承快速入门

熊泽-学习中的苦与乐   2021-03-15 我要评论
想了解c# 继承快速入门的相关内容吗,熊泽-学习中的苦与乐在本文为您仔细讲解c# 继承的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:c#,继承,下面大家一起来学习吧。

在面向对象当中继承是非常重要的,也是面向对象的三大特性之一(继承、封装、多态),今天我们来揭开他的神秘面纱。

话不多说,我们上菜。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;


/**
 * 假设我们公司有两种程序员:
 * java程序员指的是用java语法写程序的程序员,用Jpro这个类表示;
 * C#程序员指的是用C#语法写程序的程序员,用Cpro这个类来表示。
 * 每个类都有一个WriteCode()方法。
 * 都属于程序员,用Programmer这个类表示。
 * 现在公司来了一个项目,要求派某个程序员写一个程序。
 */
namespace inheritApplication
{
  //程序员类(基类)
  class Programmer
  {
    public string name = "我是程序员";
  }
  //java程序员类
  class Jpro 
  {
    public string name = "java程序员";
    public string language = "我用java语法写代码";
  }
  //C程序员类
  class Cpro 
  {
    public string name = "C#程序员";
    public string language = "我用C#语法写代码";
  }
  //编写项目类
  class Pro : Programmer //继承基类
  {
    public void WriteProgram(Jpro program) //继承java程序员类
    {
      Console.WriteLine("" + program.name + ":" + name + "," + program.language + "");
    }
    public void WriteProgram(Cpro program)
    {
      Console.WriteLine("" + program.name + ":" + name + "," + program.language + "");
    }
  }
  //主程序
  class Program
  {
    static void Main(string[] args)
    {
      Pro p = new Pro();
      Jpro p1 = new Jpro();
      p.WriteProgram(p1);
      Cpro p2 = new Cpro();
      p.WriteProgram(p2);
      Console.ReadKey();
    }
  }
}

写好代码后我们运行看看效果!

很显然看出来,公司两个程序员都继承了程序员类。

总结:

父类包含了多少内容,派生类(子类)全部接受(包括属性 字段 方法等),

可以重写覆盖,使用override重写,可以使用base调用父类中的内容。

继承可以减少代码的冗余,也为程序的修改提供了很大的方便之处。

当然,如果结合接口那就完美了,下一篇中我们将提到接口的实现。

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们