不能直接实例化接口,
接口不包含方法的实现,
接口、类和结构可以从多个接口继承,
但是C#只支持但继承:类只能从一个基类继承实现。
接口、类和结构可以从多个接口继承,
接口类似于抽象基类:继承接口的任何非抽象类型都必须实现接口的所有成员,
接口可以包含事件、索引器、方法和属性,
一个类可以实现多个接口。
类和接口的区别(java类和接口的区别)
大家好!今天让创意岭的小编来大家介绍下关于类和接口的区别的问题,以下是小编对此问题的归纳整理,让我们一起来看看吧。
ChatGPT国内免费在线使用,能给你生成想要的原创文章、方案、文案、工作计划、工作报告、论文、代码、作文、做题和对话答疑等等
你只需要给出你的关键词,它就能返回你想要的内容,越精准,写出的就越详细,有微信小程序端、在线网页版、PC客户端,官网:https://ai.de1919.com
本文目录:
一、c#接口与类的区别!
接口与类不同点:
接口与类相同点:
二、抽象类和接口的区别是什么?
抽象类和接口的主要区别是,定义不同、方法不同、成员变量不同,具体如下:
一、定义不同
1、抽象类
抽象类表示该类中可能已经有一些方法的具体定义。
2、接口
接口仅仅只能定义各个方法的界面(方法名,参数列表,返回类型),并不关心具体细节。
二、方法不同
1、抽象类
抽象类当中可以存在非抽象的方法。
2、接口
接口里面的方法只是一个声明必须用public来修饰没有具体实现的方法。
三、成员变量不同
1、抽象类
抽象类中的成员变量可以被不同的修饰符来修饰。
2、接口
接口中的成员变量默认的都是静态常量。
以上内容参考 百度百科-抽象类
三、C#中的接口和类有什么异同?
实在看不下去国内那些装X的大佬程序员了。别人一问接口和类的区别联系,窜上来就扯什么public,什么属性索引,什么谁能继承谁,谁不能继承谁的,咋地,我还要画张地图去造迷宫呀。
看到我的回答,我觉得很多入门的程序员都能走出这个边问边记边理解,最后发现还是不知所云的怪圈。
总体来说,有了类,才有了接口,有了接口才有了抽象类,不要怀疑这个顺序,没错,和你在网上看到的都不一样,很不理解吧。看完回答,你或许发现,这样理解反而好很多。
首先是继承,类是单一继承的,这个应该都有百度看到过,但是这句话是个坑,单一继承只是从子类的角度去说的。因为一个子类只能有一个父类,但是一个父类是可以有很多个子类的。
言归正传,抽象类和类在继承上是完全没有区别的,不要被abstract关键字迷惑,这个东西只是对子成员进行一个限制作用的。奥,补充一点就是抽象类不能被实例化(算是继承层面唯一用到abstract的一点),这个可以作为本能认知,你说我都这么抽象了,你还去实现我,阿拉丁呀。
接着是接口,接口的继承关系就比较好理解了,一个类可以继承多个接口,接口可以继承多个接口,抽象类也可以继承多个接口,所以,接口真的就是规范。
问题来了,为什么我认为先有接口,后有抽象类呢?
场景是这样的,你想写一大批类,但是发现这些类有很多公用属性,比如id,创建时间,创建人等等,所以你想写一个通用类,来把这些东西写一遍就过,所以有了基类。
你想规范每个类的功能方法,所以有了接口,但是你发现只是规范,没有实现,这也就意味着你需要把所有接口方法都实现一遍,可是你发现很多方法和属性一样,也是重复的,比如获取id,数据库的增删改查等等,所以你又想把这些方法统一的进行实现。这个需求简单来说,就是又想约束,又想有部分实现,这时候出现了抽象类。是的,约束作用的就是抽象类里的抽象方法,实现的就是抽象类里的真实方法。
补充:虚方法和抽象方法。抽象方法只能在抽象类中,而且他的子类必须重写抽象方法,谁让人家起到约束作用呢。虚方法可以在任何类中,除了密封类,因为这个东西不能被继承。虚方法有方法体,抽象方法没有的。虚方法可以被重写,也可以不被重写,但是抽象方法必须被实现的子类重写,这个有点碰瓷的意思。子类你撞了我,你必须给我实现我的所有虚幻的愿望。
最后就是这个虚方法,这个东西你重写了,重写后的方法比原始的优先级就高,不重写,就去调用原始的虚方法
四、抽象类和接口的区别
抽象类和接口的区别如下:
1、普通方法提供方法体
接口里只能包含抽象方法,静态方法和默认方法,不能为普通方法提供方法实现,抽象类则完全可以包含普通方法,接口中的普通方法默认为抽象方法。
2、publicstaticfinal赋值
抽象类中的成员变量可以是各种类型的,而接口中的成员变量只能是publicstaticfinal类型的,并且必须赋值,否则通不过编译。
3、构造器
接口不能包含构造器,抽象类可以包含构造器,抽象类里的构造器并不是用于创建对象,而是让其子类调用这些构造器来完成属于抽象类的初始化操作。
4、初始化块
接口里不能包含初始化块,但抽象类里完全可以包含初始化块。
5、继承一个抽象类、多个接口
一个类只能继承一个抽象类,而一个类却可以实现多个接口。
以上就是关于类和接口的区别相关问题的回答。希望能帮到你,如有更多相关问题,您也可以联系我们的客服进行咨询,客服也会为您讲解更多精彩的知识和内容。
推荐阅读: