问答文章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
玉米仁子饭产自哪里 中国期货交易所的交易品种有哪些? 历史要怎么读,有啥诀窍 高中历史诀窍 年终会活动策划方案 深度解析:第一财经回放,探索财经新风向 逆水寒手游庄园怎么邀请好友同住 逆水寒手游 逆水寒不同区可以一起组队吗? 逆水寒手游 逆水寒怎么进入好友世界? 逆水寒手游 逆水寒怎么去别人的庄园? java中的抽象类和接口该怎么理解 ?定义上有什么区别?通常分别有什么作用? java中抽象类和接口存在的意义是什么 项目中接口和抽象类各自起什么作用? 为什么要使用抽象类和接口 韩信为何会落得身死的下场,从中我们可以得到哪些启示? Java中的抽象类和接口有什么不同,又有什么作用? 破釜沉舟告诉人们一个什么道理 接口和抽象类在面向对象编程中有什么作用 机械键盘t轴是什么轴 大家店铺是怎么运营的呢?? 村上春树的书中哪本最好,好在哪里? 村上春树最好的书是哪本? 男友天天和我在一起,但是他的朋友圈突然从三天改为半年是什么意思? 突然朋友圈设置半年可见的人 急急,我男朋友,之前的朋友圈一直是半年可见,我的也是半年可见,但是最近他突然给改成全部开放了? 男生朋友圈由一个月可见改成半年可见,代表什么?就有两组他自己的照片 但是是看不到脸的那种_百度问一问 一个男的突然把朋友圈仅一个月可见变成了半年可见是什么心理?难道是他对象要求的? 一个男生突然把朋友圈仅半年可见(这半年他什么都没发,什么都没有)改为全部可见,最早发的也是2019_百度问一问 男的以前朋友圈开放的,和我表白那晚突然变成半年可见? 一个男生突然把朋友圈仅半年可见(这半年他什么都没发,什么都没有)改为全部可见,最早发的也是2019_百度问一问 第五套人民币价格是多少钱? 第五套人民币的价格 oracle 12c插入一条记录的时候提示对表空间‘USERS’无权限 猪脚汤锅的做法大全 在网上如何购买人寿保险 吃汤锅的最好食材? 用炖锅可以做什么美食 购买人寿保险有哪些注意事项?如何购买人寿保险? 汉邦高科嵌入式DVR原始密码是多少- 问一问 手机充电宝通用吗 汉邦高科硬盘录像机HB7024初始用户名跟密码是多少? hame充电宝充电线是否可以通用 手机充电宝的数据线可以用在任何的手机充电器插头上吗? 汉邦监控忘记了名称,用户名,密码等怎么办 汉邦高科录像机密码7016怎么恢复出厂设置? 你们的小米移动电源和小米手机的导线 是不是通用的? 充电宝一定要用原装的线吗? 充电宝的数据线和手机数据线一样吗? 充电宝充电线是跟安卓手机数据线是通用的吗? 考研成绩国家线