C#编程-43:接口复习笔记

简介: C#编程-43:接口复习笔记

1、接口

API应用程序接口 Application Programming Interface

一种规范,功能

组成:属性,方法,事件,索引

关键字:interface

命名规范:以I开头,able结尾

(1)接口默认声明为public

(2)类的默认声明是private

(3)接口中不能有访问修饰符,默认public,不能包含abstract

(4)接口中不能有字段,属性经常被写作自动属性set,get

(5)接口方法不能包含方法体

(6)接口成员实现过程必须在实现接口的类中完成

(7)接口不能包含常数,字段,运算符,实例构造函数,析构函数或类型,静态成员


2、开放封闭原则

软件实体应该可以扩展,不可以修改

扩展是开放的,修改是封闭的


3、接口的继承

关闭覆盖成员警告,new

类的继承具有单根性,接口可以多重继承

继承用冒号隔开,逗号分隔多个父接口

父接口也称为该接口的显示基接口

同一接口中成员名不能重名,即使类型不同


4、显示实现接口

接口名称.接口方法

只能通过接口来调用,不能通过具体类调用


5、隐式实现接口

(1)接口调用方法

(2)具体的类调用方法


6、抽象类和抽象方法

抽象方法必须在抽象类中声明

不能使用static,private,virtual

重写方法是使用override

抽象类与抽象方法声明中,必须包含abstract,并且抽象方法不能有方法体

抽象类的声明就是为了实现派生类或者继承,不能标记为sealed

抽象类不能实例化,必须通过继承由派生类实现抽象方法

抽象类中可以包含非抽象方法

如果派生类没有实现所有的抽象方法,那么该派生类也必须声明为抽象类

如果一个非抽象类从抽象类中派生,则必须通过重载,实现所有继承而来的抽象成员


abstract,没有自己的实现

virtual,有自己的实现

共同点:都可以用override实现对原来的方法重写


7、密封类与密封方法

sealed不能被继承

密封类不能包含virtual 方法和abstract方法

密封类不能被继承,不能重写密封方法

密封方法必须通过重写基类中的虚方法实现

如果实例方法声明包含sealed,则也必须包含override

相关文章
|
canal SQL 关系型数据库
|
9月前
|
存储 JSON NoSQL
学习 MongoDB:打开强大的数据库技术大门
MongoDB 是一个基于分布式文件存储的文档数据库,由 C++ 编写,旨在为 Web 应用提供可扩展的高性能数据存储解决方案。它与 MySQL 类似,但使用文档结构而非表结构。核心概念包括:数据库(Database)、集合(Collection)、文档(Document)和字段(Field)。MongoDB 使用 BSON 格式存储数据,支持多种数据类型,如字符串、整数、数组等,并通过二进制编码实现高效存储和传输。BSON 文档结构类似 JSON,但更紧凑,适合网络传输。
215 15
|
分布式计算 Spark
【Spark】【RDD】从HDFS创建RDD
【Spark】【RDD】从HDFS创建RDD
151 0
【Spark】【RDD】从HDFS创建RDD
|
SQL Oracle NoSQL
常见JDBC数据库URL格式、驱动程序名称及默认端口大全
常见JDBC数据库URL格式、驱动程序名称及默认端口大全
1725 0
|
4天前
|
人工智能 运维 安全
|
2天前
|
人工智能 异构计算
敬请锁定《C位面对面》,洞察通用计算如何在AI时代持续赋能企业创新,助力业务发展!
敬请锁定《C位面对面》,洞察通用计算如何在AI时代持续赋能企业创新,助力业务发展!
|
9天前
|
人工智能 JavaScript 测试技术
Qwen3-Coder入门教程|10分钟搞定安装配置
Qwen3-Coder 挑战赛简介:无论你是编程小白还是办公达人,都能通过本教程快速上手 Qwen-Code CLI,利用 AI 轻松实现代码编写、文档处理等任务。内容涵盖 API 配置、CLI 安装及多种实用案例,助你提升效率,体验智能编码的乐趣。
801 109
|
3天前
|
机器学习/深度学习 人工智能 自然语言处理
B站开源IndexTTS2,用极致表现力颠覆听觉体验
在语音合成技术不断演进的背景下,早期版本的IndexTTS虽然在多场景应用中展现出良好的表现,但在情感表达的细腻度与时长控制的精准性方面仍存在提升空间。为了解决这些问题,并进一步推动零样本语音合成在实际场景中的落地能力,B站语音团队对模型架构与训练策略进行了深度优化,推出了全新一代语音合成模型——IndexTTS2 。
379 9