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

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

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

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

相关文章
|
2月前
|
编译器 C#
C#多态概述:通过继承实现的不同对象调用相同的方法,表现出不同的行为
C#多态概述:通过继承实现的不同对象调用相同的方法,表现出不同的行为
127 65
|
3月前
|
安全 C#
C# 面向对象编程的三大支柱:封装、继承与多态
【9月更文挑战第17天】在C#中,面向对象编程的三大支柱——封装、继承与多态,对于编写安全、可维护、可复用的代码至关重要。封装通过访问修饰符和属性保护数据;继承允许子类继承父类的属性和方法,实现代码复用和多态;多态则提高了代码的灵活性和通用性。掌握这三大概念能显著提升C#编程能力,优化开发效率和代码质量。
|
2月前
|
XML 存储 缓存
C#使用XML文件的详解及示例
C#使用XML文件的详解及示例
116 0
|
2月前
|
API C#
异步轮询 Web API 的实现与 C# 示例
异步轮询 Web API 的实现与 C# 示例
90 0
|
3月前
|
存储 C#
C# 一分钟浅谈:继承与多态性的实践
【9月更文挑战第2天】本文从基础入手,详细介绍了面向对象编程中继承与多态性的核心概念。通过 `Animal`、`Dog` 和 `Cat` 类的示例代码,展示了如何利用继承重用代码及多态性实现不同对象对同一方法的多样化响应,帮助读者更好地理解和应用这两个重要概念,提升面向对象编程能力。
48 3
|
4月前
|
C#
C#中的类和继承
C#中的类和继承
45 6
|
4月前
|
数据安全/隐私保护 C# UED
利用 Xamarin 开展企业级移动应用开发:从用户登录到客户管理,全面演示C#与Xamarin.Forms构建跨平台CRM应用的实战技巧与代码示例
【8月更文挑战第31天】利用 Xamarin 进行企业级移动应用开发能显著提升效率并确保高质量和高性能。Xamarin 的跨平台特性使得开发者可以通过单一的 C# 代码库构建 iOS、Android 和 Windows 应用,帮助企业快速推出产品并保持一致的用户体验。本文通过一个简单的 CRM 示例应用演示 Xamarin 的使用方法,并提供了具体的代码示例。该应用包括用户登录、客户列表显示和添加新客户等功能。此外,还介绍了如何增强应用的安全性、数据持久化、性能优化及可扩展性,从而构建出功能全面且体验良好的移动应用。
60 0
|
4月前
|
前端开发 开发者 Apache
揭秘Apache Wicket项目结构:如何打造Web应用的钢铁长城,告别混乱代码!
【8月更文挑战第31天】Apache Wicket凭借其组件化设计深受Java Web开发者青睐。本文详细解析了Wicket项目结构,帮助你构建可维护的大型Web应用。通过示例展示了如何使用Maven管理依赖,并组织页面、组件及业务逻辑,确保代码清晰易懂。Wicket提供的页面继承、组件重用等功能进一步增强了项目的可维护性和扩展性。掌握这些技巧,能够显著提升开发效率,构建更稳定的Web应用。
119 0
|
4月前
|
前端开发 程序员 API
从后端到前端的无缝切换:一名C#程序员如何借助Blazor技术实现全栈开发的梦想——深入解析Blazor框架下的Web应用构建之旅,附带实战代码示例与项目配置技巧揭露
【8月更文挑战第31天】本文通过详细步骤和代码示例,介绍了如何利用 Blazor 构建全栈 Web 应用。从创建新的 Blazor WebAssembly 项目开始,逐步演示了前后端分离的服务架构设计,包括 REST API 的设置及 Blazor 组件的数据展示。通过整合前后端逻辑,C# 开发者能够在统一环境中实现高效且一致的全栈开发。Blazor 的引入不仅简化了 Web 应用开发流程,还为习惯于后端开发的程序员提供了进入前端世界的桥梁。
497 0
|
4月前
|
C# 索引
C# 面向对象编程(二)——继承
C# 面向对象编程(二)——继承
46 0