c# 继承快速入门

2022-07-24,,

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

话不多说,我们上菜。

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调用父类中的内容。

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

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

以上就是c# 继承快速入门的详细内容,更多关于c# 继承的资料请关注其它相关文章!

《c# 继承快速入门.doc》

下载本文的Word格式文档,以方便收藏与打印。