C#简单继承示例详解——快速入门

C#

浏览数:130

2019-8-16

AD:资源代下载服务

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

话不多说,我们上菜。

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

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

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

 

作者:熊泽-学习中的苦与乐