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

相关文章
|
2月前
|
开发框架 前端开发 .NET
C#编程与Web开发
【4月更文挑战第21天】本文探讨了C#在Web开发中的应用,包括使用ASP.NET框架、MVC模式、Web API和Entity Framework。C#作为.NET框架的主要语言,结合这些工具,能创建动态、高效的Web应用。实际案例涉及企业级应用、电子商务和社交媒体平台。尽管面临竞争和挑战,但C#在Web开发领域的前景将持续拓展。
|
2月前
|
SQL 开发框架 安全
C#编程与多线程处理
【4月更文挑战第21天】探索C#多线程处理,提升程序性能与响应性。了解C#中的Thread、Task类及Async/Await关键字,掌握线程同步与安全,实践并发计算、网络服务及UI优化。跟随未来发展趋势,利用C#打造高效应用。
|
4天前
|
关系型数据库 C# 数据库
技术笔记:MSCL超级工具类(C#),开发人员必备,开发利器
技术笔记:MSCL超级工具类(C#),开发人员必备,开发利器
|
4天前
|
存储 C# 开发者
C# 编程基础:注释、变量、常量、数据类型和自定义类型
C# 编程基础:注释、变量、常量、数据类型和自定义类型
11 1
|
4天前
|
Java BI C#
技术笔记:SM4加密算法实现Java和C#相互加密解密
技术笔记:SM4加密算法实现Java和C#相互加密解密
|
2月前
|
存储 安全 网络安全
C#编程的安全性与加密技术
【4月更文挑战第21天】C#在.NET框架支持下,以其面向对象和高级特性成为安全软件开发的利器。本文探讨C#在安全加密领域的应用,包括使用System.Security.Cryptography库实现加密算法,利用SSL/TLS保障网络传输安全,进行身份验证,并强调编写安全代码的重要性。实际案例涵盖在线支付、企业应用和文件加密,展示了C#在应对安全挑战的同时,不断拓展其在该领域的潜力和未来前景。
|
2月前
|
人工智能 C# 开发者
C#编程中的图形界面设计
【4月更文挑战第21天】本文探讨了C#在GUI设计中的应用,介绍了Windows Forms、WPF和UWP等常用框架,强调了简洁界面、响应式设计和数据绑定等最佳实践。通过实际案例,展示了C#在企业应用、游戏开发和移动应用中的GUI实现。随着技术发展,C#在GUI设计的未来将趋向于跨平台、更丰富的组件和AI集成,为开发者创造更多可能性。
|
2月前
|
开发框架 .NET Java
探索 C#编程的奥秘与魅力
【4月更文挑战第20天】C#是微软开发的现代、面向对象的编程语言,以其简洁语法、强大功能和跨平台支持脱颖而出。它支持自动垃圾回收、泛型、委托、LINQ,并广泛应用于桌面、Web、移动和游戏开发。C#拥有活跃的开发者社区和丰富的资源,是Unity游戏开发的首选语言。随着.NET Core,C#可在多个操作系统上运行,持续创新,未来发展潜力巨大。
|
2月前
|
人工智能 C# 云计算
C#编程的未来发展趋向
【4月更文挑战第21天】C#编程未来将深化跨平台支持,强化云计算与容器技术集成,如.NET Core、Docker。在AI和ML领域,C#将提供更丰富框架,与AI芯片集成。语言和工具将持续创新,优化异步编程,如Task、async和await,提升多核性能。开源生态的壮大将吸引更多开发者,共创更多机遇。
|
2月前
|
程序员 C#
C#编程中的面向对象编程思想
【4月更文挑战第21天】本文探讨了C#中的面向对象编程,包括类、对象、封装、继承和多态。类是对象的抽象,定义属性和行为;对象是类的实例。封装隐藏内部细节,只暴露必要接口。继承允许类复用和扩展属性与行为,而多态使不同类的对象能通过相同接口调用方法。C#通过访问修饰符实现封装,使用虚方法和抽象方法实现多态。理解并应用这些概念,能提升代码的清晰度和可扩展性,助你成为更好的C#程序员。