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

相关文章
|
3月前
|
XML 前端开发 C#
C#编程实践:解析HTML文档并执行元素匹配
通过上述步骤,可以在C#中有效地解析HTML文档并执行元素匹配。HtmlAgilityPack提供了一个强大而灵活的工具集,可以处理各种HTML解析任务。
238 19
|
4月前
|
监控 算法 C#
C#与Halcon联合编程实现鼠标控制图像缩放、拖动及ROI绘制
C#与Halcon联合编程实现鼠标控制图像缩放、拖动及ROI绘制
712 0
|
C# 开发者
C# 一分钟浅谈:Code Contracts 与契约编程
【10月更文挑战第26天】本文介绍了 C# 中的 Code Contracts,这是一个强大的工具,用于通过契约编程增强代码的健壮性和可维护性。文章从基本概念入手,详细讲解了前置条件、后置条件和对象不变量的使用方法,并通过具体代码示例进行了说明。同时,文章还探讨了常见的问题和易错点,如忘记启用静态检查、过度依赖契约和性能影响,并提供了相应的解决建议。希望读者能通过本文更好地理解和应用 Code Contracts。
277 3
|
存储 安全 编译器
学懂C#编程:属性(Property)的概念定义及使用详解
通过深入理解和使用C#的属性,可以编写更清晰、简洁和高效的代码,为开发高质量的应用程序奠定基础。
907 12
|
开发框架 监控 .NET
C#进阶-ASP.NET WebForms调用ASMX的WebService接口
通过本文的介绍,希望您能深入理解并掌握ASP.NET WebForms中调用ASMX WebService接口的方法和技巧,并在实际项目中灵活运用这些技术,提高开发效率和应用性能。
786 5
|
设计模式 C# 图形学
Unity 游戏引擎 C# 编程:一分钟浅谈
本文介绍了在 Unity 游戏开发中使用 C# 的基础知识和常见问题。从 `MonoBehavior` 类的基础用法,到变量和属性的管理,再到空引用异常、资源管理和性能优化等常见问题的解决方法。文章还探讨了单例模式、事件系统和数据持久化等高级话题,旨在帮助开发者避免常见错误,提升游戏开发效率。
514 4
|
开发框架 前端开发 .NET
C#编程与Web开发
【4月更文挑战第21天】本文探讨了C#在Web开发中的应用,包括使用ASP.NET框架、MVC模式、Web API和Entity Framework。C#作为.NET框架的主要语言,结合这些工具,能创建动态、高效的Web应用。实际案例涉及企业级应用、电子商务和社交媒体平台。尽管面临竞争和挑战,但C#在Web开发领域的前景将持续拓展。
545 3
|
SQL 开发框架 安全
C#编程与多线程处理
【4月更文挑战第21天】探索C#多线程处理,提升程序性能与响应性。了解C#中的Thread、Task类及Async/Await关键字,掌握线程同步与安全,实践并发计算、网络服务及UI优化。跟随未来发展趋势,利用C#打造高效应用。
394 3
|
安全 程序员 编译器
C#一分钟浅谈:泛型编程基础
在现代软件开发中,泛型编程是一项关键技能,它使开发者能够编写类型安全且可重用的代码。C# 自 2.0 版本起支持泛型编程,本文将从基础概念入手,逐步深入探讨 C# 中的泛型,并通过具体实例帮助理解常见问题及其解决方法。泛型通过类型参数替代具体类型,提高了代码复用性和类型安全性,减少了运行时性能开销。文章详细介绍了如何定义泛型类和方法,并讨论了常见的易错点及解决方案,帮助读者更好地掌握这一技术。
250 11
|
API C#
C# 一分钟浅谈:文件系统编程
在软件开发中,文件系统操作至关重要。本文将带你快速掌握C#中文件系统编程的基础知识,涵盖基本概念、常见问题及解决方法。文章详细介绍了`System.IO`命名空间下的关键类库,并通过示例代码展示了路径处理、异常处理、并发访问等技巧,还提供了异步API和流压缩等高级技巧,帮助你写出更健壮的代码。
176 2

热门文章

最新文章