问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

什么是接口?接口有哪些好处,抽象类(abstract)和接口(interface)的区别...

发布网友 发布时间:2022-04-30 02:17

我来回答

1个回答

热心网友 时间:2022-05-10 22:48

什么是接口? 接口是一种用来定义程序的协议,它描述可属于任何类或结构的一组相关行为 接口是这样定义的: 接口,里面包含方法,但是没有方法的具体实现。 然后在继承该接口的类中 去实现接口中的所有方法。包括 属性、方法、事件、索引器,但是不能包括字段;;;; 接口中只能包含 属性、方法、事件、索引器; 接口可以实现C# 中的多继承。(c#不可以多继承,用接口可以实现) 接口可以继承接口,可以继承多个接口; 类可以继承接口,但是继承的类必须去实现接口中的方法代码。等。。 接口不能直接被实例化 接口一般不用什么修饰符,因为接口默认的修饰符是 public 公共的。 接口中的所有成员默认为public,因此接口中不能有private修饰符接口的好处: 对类的一种约束。如果一个项目的需求可能在不断变化的情况下,用接口可以很容易进行拓展,并不影响以前写的功能模块的代码,只要新添加类,继承这个接口就可以了。 如果每个类都要用到一些公用的属性字段或者方法,则通过继承接口可以方便的实现,不用再每个类中都写一次公用的属性或方法。 接口中不能包含【常量、字段(域)、构造函数、析构函数、静态成员】抽象类(abstract)和接口(interface)的区别: abstract 类 和接口类似, 抽象类中定义方法,只有方法名,但不包含主体,不包含实现, 和接口一样, 可以把抽象方法 当作没有具体实现的虚方法。 抽象类不能被实例化。这个接口一样, 抽象类中并非一定有抽象方法,但是 有抽象方法的类, 一定是抽象类。 派生类必须覆盖基类的抽象方法,(也就是子类去实现继承类中的方法) 抽象类中可以包含: 属性、普通方法、可以包含虚方法、抽象方法;using System;public abstract class A //抽象类A{private int num=0; public int Num //抽象类包含属性{get{return num;}set{num = value;}} public virtual int getNum() //抽象类包含虚方法{return num;} public void setNum(int n) // //抽象类包含普通方法{this.num = n;} public abstract void E(); //类A中的抽象方法E}public abstract class B : A // 抽象类B 继承了抽象类A, 所以抽象类B 也就继承了抽象方法E(), 类B 也是抽象类。{}public class C :B // 在类C中 重写 类B 继承 类A 的抽象方法E(), 如果 类B中有自己的抽象方法,在类C中也必须去重写{ // override 覆盖、 重写、覆写 public override void E() { }} public class Test{static void Main(){C c = new C(); // 实例化C, C也就有了E() 这个方法了。c.E();}}抽象类和接口相同点:(1) 都可以被继承(2) 都不能被实例化(3) 都可以包含方法声明(4) 派生类必须实现未实现的方法 区别:(1) 抽象基类可以定义字段、属性、方法实现。接口只能定义属性、索引器、事件、和方法声明,不能包含字段。(2) 抽象类是一个不完整的类,需要进一步细化,而接口是一个行为规范。微软的自定义接口总是后带able字段,证明其是表述一类“我能做。。。”(3) 接口可以被多重实现,抽象类只能被单一继承(4) 抽象类更多的是定义在一系列紧密相关的类间,而接口大多数是关系疏松但都实现某一功能的类中(5) 抽象类是从一系列相关对象中抽象出来的概念, 因此反映的是事物的内部共性;接口是为了满足外部调用而定义的一个功能约定, 因此反映的是事物的外部特性(6) 接口基本上不具备继承的任何具体特点,它仅仅承诺了能够调用的方法(7) 接口可以用于支持回调,而继承并不具备这个特点(8) 抽象类实现的具体方法默认为虚的,但实现接口的类中的接口方法却默认为非虚的,当然您也可以声明为虚的
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
按现行会计制度的规定,短期借款所发生的利息,一般应记入( )科目。 省钱输送机 江西同步带欧规皮带滚轮模组规格 请问91年3月12日是什么星座拜托各位大神 1991年3月11的双鱼座怎样拜托了各位 谢谢 ...年11月3号。这两个时间出生的人各是什么塔罗牌?拜托各位大神... 孤岛惊魂4怎么不显示dlc 微信百万保障诈骗是怎么回事 秋季大棚里应候种植什么蔬菜最适合 上海音乐学院钢琴十级通过率 java中的抽象类和接口该怎么理解 ?定义上有什么区别?通常分别有什么作用? java中抽象类和接口存在的意义是什么 项目中接口和抽象类各自起什么作用? 为什么要使用抽象类和接口 韩信为何会落得身死的下场,从中我们可以得到哪些启示? Java中的抽象类和接口有什么不同,又有什么作用? 破釜沉舟告诉人们一个什么道理 接口和抽象类在面向对象编程中有什么作用 机械键盘t轴是什么轴 大家店铺是怎么运营的呢?? 村上春树的书中哪本最好,好在哪里? 村上春树最好的书是哪本? 男友天天和我在一起,但是他的朋友圈突然从三天改为半年是什么意思? 突然朋友圈设置半年可见的人 急急,我男朋友,之前的朋友圈一直是半年可见,我的也是半年可见,但是最近他突然给改成全部开放了? 男生朋友圈由一个月可见改成半年可见,代表什么?就有两组他自己的照片 但是是看不到脸的那种_百度问一问 一个男的突然把朋友圈仅一个月可见变成了半年可见是什么心理?难道是他对象要求的? 一个男生突然把朋友圈仅半年可见(这半年他什么都没发,什么都没有)改为全部可见,最早发的也是2019_百度问一问 男的以前朋友圈开放的,和我表白那晚突然变成半年可见? 一个男生突然把朋友圈仅半年可见(这半年他什么都没发,什么都没有)改为全部可见,最早发的也是2019_百度问一问 第五套人民币价格是多少钱? 第五套人民币的价格 oracle 12c插入一条记录的时候提示对表空间‘USERS’无权限 猪脚汤锅的做法大全 在网上如何购买人寿保险 吃汤锅的最好食材? 用炖锅可以做什么美食 购买人寿保险有哪些注意事项?如何购买人寿保险? 汉邦高科嵌入式DVR原始密码是多少- 问一问 手机充电宝通用吗 汉邦高科硬盘录像机HB7024初始用户名跟密码是多少? hame充电宝充电线是否可以通用 手机充电宝的数据线可以用在任何的手机充电器插头上吗? 汉邦监控忘记了名称,用户名,密码等怎么办 汉邦高科录像机密码7016怎么恢复出厂设置? 你们的小米移动电源和小米手机的导线 是不是通用的? 充电宝一定要用原装的线吗? 充电宝的数据线和手机数据线一样吗? 充电宝充电线是跟安卓手机数据线是通用的吗? 考研成绩国家线