zoukankan      html  css  js  c++  java
  • 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调用父类中的内容。

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

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

  • 相关阅读:
    File类总结
    MyBatis框架一级缓存与二级缓存
    SpringMVC运行原理总结
    SpringMVC:详述拦截器
    SpringMVC:自定义视图及其执行过程
    详述ThreadLocal
    浅析MVC中的数据流动
    error: gpg failed to sign the data 的一个解决办法
    保险业务核心系统设计参考
    奇怪的404
  • 原文地址:https://www.cnblogs.com/xiongze520/p/10238941.html
Copyright © 2011-2022 走看看