首页 > 其他分享 >面向对象开发的继承

面向对象开发的继承

时间:2023-08-16 21:22:30浏览次数:40  
标签:函数 继承 接口 面向对象 开发 基类 类型 C#

  继承 :在面向对象的编程中,有两种截然不同的继承类型:实现继承和接口继承。

实现继承:表示一个类型派生于一个基类型,它拥有该基类型的所有成员字段和函数。在实现继承,派生类型采用基类型的每个函数的实现代码,除非在派生类型的定义中指 定重写某个函数的实现代码。在需要给现有的类型添加功能,或许多相关的类型共享一组重要的公共功能时,这种类型的继承非常有用

接口继承:表示一个类型只继承了函数的签名,没有继承任何实现代码 。在需要指定该类型具有某些可用的特性时,最好使用这种类型的继承。

      一些语言(如C++)支持所谓的 “多重继承”,即 一个类派生自多个类。C#不支持多重实现继承。而C#又允许类型派生自多个接口:多重接口继承。这说明,C#可以派生自另一个类和任意多个接口。更准确地说,因为 System.Object是一个公共的基类,所以每个C#类(除了Object类之外)都有一个基类,还可以有任意多个基接口。

      实现继承:      

            如果要声明派生自另一个类的一个类,就可以使用下面的语法(基类放冒号后面):

 

这个语法非常类似于C++ 和 Java 中的语法,但是,C++程序员习惯于使用公共和私有继承的概念,要注意不支持私有继承,因此在基类名上没有public 或 private限定符。支持私有继承只会大大增加语言的复杂性。

         如果类(或结构)也派生自接口,则用逗号分隔列表中的基类和接口:

 把一个基类函数声明为virtual,就可以在任何派生类中重写该函数:

抽象类和抽象函数:

              C#允许把类和函数声明为abstract。抽象类不能实例化,而抽象函数不能直接实现,必须在非抽象的派生类中重写。显然,抽象函数本身也是虚拟的(尽管也不需要提供            virtual关键字,实际上,如果提供了该关键字,就会产生一个语法。如果类包含抽象函数,则该类也是抽象的,也必须声名为抽象的:

 关于C#面向对象编程我们就先介绍到这了。

 

标签:函数,继承,接口,面向对象,开发,基类,类型,C#
From: https://www.cnblogs.com/lllxxxyyy/p/17636222.html

相关文章

  • 开发一个进销存系统需要多少钱?
    首先,让我们来探讨开发一套进销存系统所需的花费。在市场上,开发一套进销存系统的费用主要包括硬件采购、软件开发与维护、技术支持等几个方面。软件开发与维护费用涉及系统设计、开发、测试、维护等多个环节,费用因开发难度和人力成本而异;技术支持则包括系统安装、配置、故障处理等服......
  • VS(Visual Studio)通过ssh连接虚拟机中的Linux系统远程开发
    VS通过ssh连接Linux首先VS下载Linux开发工具包,然后创建Linux环境开发项目工程,并在工具-->选项-->跨平台中通过ssh远程连接Linux系统。Linux下ssh配置(1)下载SSHsudoapt-getinstallopenssh-server(2)设置SSH开机自启动systemctlenablessh.service(3)开启SSHsudoservice......
  • 客户催单_代码开发
       ......
  • 来单提醒_代码开发
       ......
  • 学习笔记 - Java 面向对象_上
    学习面向对象内容的三条主线Java类及类的成员:属性、方法、构造器;代码块、内部类面向对象的特征:封装、继承、多态、(抽象)其他关键字的使用:this、super、package、import、static、final、interface等类的相关概念类和对象概述类(Class)和对象(Object)是面向对象的核心概念。......
  • 微信开发之一键修改好友备注的技术实现
    简要描述:修改好友备注请求URL:http://域名地址/modifyRemark请求方式:POST请求头Headers:Content-Type:application/jsonAuthorization:login接口返回参数:参数名必选类型说明wId是string登录实例标识wcId是string好友微信idremark是string好友......
  • 微信开发之一键修改好友备注的技术实现
    简要描述:修改好友备注请求URL:http://域名地址/modifyRemark请求方式:POST请求头Headers:Content-Type:application/jsonAuthorization:login接口返回参数:参数名必选类型说明wId是string登录实例标识wcId是string好友微信idremark是string好友备注返回数据:参数名类型说明codestring1000......
  • 使用idea进行开发
    使用idea进行开发使用步骤创建一个新的工程​ 自己的jdk安装目录输入工程名,模块名实际创建的样子其他在工程下创建其他模块创建完成创建一个Java文件注意,这里的前面两个是包名,最后一个.后面实际是.demo01.java的意思建立包快捷键创......
  • 新零售电商系统开发如何选择合适的平台和框架?
    企业在进行新零售电商系统的开发过程中,选择合适的平台和框架是非常重要的。因为正确的选择可以提高开发效率、降低成本,并确保系统具有良好的性能和可扩展性。然而,在众多的平台和框架面前,如何做出明智选择?接下来,广州名锐讯动跟大家一起探讨一下,新零售电商系统开发如何选择合适的平台......
  • 广州系统开发|新零售电商系统开发需要考虑哪些问题?
    新零售电商系统开发需要考虑哪些问题?为了满足消费者日益增长的购物需求,企业需要开发一款属于自己的新零售电商系统。为了确保系统的成功开发和运行,接下来,广州名锐讯动总结了以下几个新零售电商系统开发需要考虑的关键问题。1.业务需求分析:在开发新零售电商系统之前,必须对业务需求......