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

为什么使用接口不用实现类

发布网友 发布时间:2023-09-14 18:36

我来回答

5个回答

热心网友 时间:2024-12-03 03:31

面向对象是解决软件需求的变化而产生的,他的目的就是让需求变化时软件的改动达到最小化。如果只是一个IA接口,一个AClass类,IA接口就是多余的,你直接用实现类就可以了。

如果又来了一个BClass,也需要toString()方法。
用实现类可能忘了在BClass中定义toString()方法,但让BClass实现IA接口,就必须在BClass中实现toString()方法,不然编译不通过,这是接口的第一个好处:强制实现。

如果要把IA ia = new AClass();换成new BClass();
用实现类需要修改两行,AClass a = new AClass();换成BClass b = new BClass();,a.toString(); 换成b.toString();
用接口只需要修改一行,IA ia = new AClass();换成IA ia = new BClass();
而IA.toString();是不需要修改的,这是接口的第二个好处:抽象行为。

热心网友 时间:2024-12-03 03:31

首先要说的是你的接口写的是错的,应该是
Interface IA //接口
{ string toString(); }

接口中是不会定义方法的修饰符的。

接口其实就是类和类之间的一种协定,一种约束,是一种通信约束。接口中所有的方法否是抽象的。

因为子类继承的是父类的借口,所以我们可以用子类去实例化这个父类,然后就可以直接去调用接口中的方法,当然了,方法的实现还是在子类中的。

继承接口的子类中可能会有除了接口定义之外的方法,使用IA ia = new AClass();这种方式实例化的时候是调用不到接口之外的方法的。

希望我的回答对你有帮助

热心网友 时间:2024-12-03 03:32

呵呵,楼上几位说的那些好处我就不在重复了。
"IA ia = new AClass();"其实这句话如果只是放在代码里面看,我个人认为作用确实不大,但是楼主可以设想一下,假如说,我们现在有一个项目,需要50个人来合作开发,那"IA ia = new AClass();"这句话的意义就会体现出来:
1:在开发的过程中,任务的分配一般来说是很明确的,设计人员可能只给你几个类让你去做,但是又要求你必须要实现他要的方法(为了让他人使用)。
2:我开发我的模块时,我不需要知道别人的类是怎么实现的,别人做的类只要实现我要的方法即可.
3:这样一来"IA ia = new AClass();"这个方法放在这个环境里面,那它的作用就体现的淋漓尽致了。
希望楼主细细体会。

热心网友 时间:2024-12-03 03:32

因为一个接口由于参数的个数、类型不同,可以实现多种功能。
而类要实现则比较困难。

就比如说类是一个电话,而接口是一个接线员。只是指向那个电话,当你需要其他电话的时候,就费劲 了。但是如果你指向的是接线员,告诉他我要哪哪哪,那就方便多了。

热心网友 时间:2024-12-03 03:33

简单的说就是为了约束一下,接口中定义的方法实现类中必须全部实现

但是如果你只用实现类的话,项目中本该有的方法你有可能就会忘记实现
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
手机为啥投屏不到电视上 投屏到电视机上为什么不行了呢? 什么是超买状态,如何看出—个股票处于超买状态了? 用电脑怎么弄表格在电脑上制作表格怎么制作 ...明细帐、财务报表,带公式,EXCELE格式的文件,能发给我吗谢_百度... 电脑出入库表格怎么做作为一个仓管员excel表格如何做出入库存库存电脑会... 你好,可以发下库存管理的EXCEL表格么?衣服面料辅料都要统计,谢谢!麻烦... 电脑怎么制作电子表格如何用电脑制作表格 你好,能给我发一份出纳excel 做账模板现金流水账表格 芝麻香鸡有什么值得推荐的做法? ...开发时要基于接口进行开发?定义接口有什么作用? 馕的热量有多少卡路里? 请问有什么高档烟好抽的,大概在120元左右一包,买来送礼品用 不粘锅热时我就用冷水洗过一次了咋办 平凉灵台 到宝鸡蔡家坡多少公里 甘谷到灵台县有多少公里 从民乐县到灵台县多少公里路 甘肃省平凉市灵台县距离贵州省有多远 从平凉市灵太县到陕西省铜川市多少公里 甘肃省灵台县到四川省夹江县多少公里 灵台走关山牧场多少公里 本人住在河北区中环线请问坐车去天津市海泰绿色产业基地应该坐多少路车... 魅族note3播放爱奇艺加音量回抖 37乘29米网架钢结构成本多少钱 4s店换保险杠和引擎盖能看出来吗? 汽车发生事故,出险发动机盖有点变形,怎么看的出是换的新的,还是修复的... 怎样检查车子的机头是否被人换? 汽车整个引擎盖换掉能鉴定出来吗? 电影头号玩家剧情介绍 头号玩家结局是什么 哈利迪到底死没死谁得到绿洲了 尿素和尿素氮换算公式 ...快没电了,准备换纽扣电池,但是这个螺丝拧不开啊? 求达人给个方子... 海迈平和依路静有什么不同 光绪帝到北大讲过话,是真的吗? 淋浴喷头的品牌,,喷头选购方法有哪些 valorant无畏契约能否穿墙判断方法分享 小米手机怎么开启或关闭家长模式? 网上高考报名号怎么查 四川省遂宁市蓬溪中学的体训生在哪里考试? 独一无二指什么生肖或数字? 独一无二数上数是什么生肖? 独一无二的生肖 十二烷基在电镀中起到什么作用 原神爱心岛在哪里在哪爱心岛过去方法 请教一个历史问题 张家港新城和樾房价多少钱一平? 张家港新城和樾是哪个开发商? 张家港新城和樾是毛坯房还是精装修? 张家港新城和樾在哪里? 昆明新城和樾有多少户?