[问题] interface implement 请益

楼主: paulstone (SIMON STONE)   2019-04-10 17:17:35
手机排版请见谅
求问,当一类别A实作接口B时,已知B有定义方法C。
若A的父类别有与C同名同参数与回传设定的方法时,A需要实作C吗?
另外的问题是那B定义C的意义在哪?
把问题打成文字感觉答案也出来了XD但想确认一下
作者: p31819 (凛大小姐~最高!!)   2019-04-10 17:59:00
接口不能有定义的方法
楼主: paulstone (SIMON STONE)   2019-04-10 18:19:00
呃,是有定要名称跟参数但没有实作内容
作者: ssccg (23)   2019-04-10 19:09:00
A extends P implements BB有个方法宣告C,P有个方法M与C的signature相同A会继承M,所以M就是A对C的实作方法,不是不用实作如果A里面再写一个N与C的signature相同,当然也与M相同就变成N override M了B定义C的意义在,其他用B的哪知道他用的B是个A还是P还是其他,当然就照着B定义的C去使用啊↑ 更正P没有implements B的话,P不能被当成B用
楼主: paulstone (SIMON STONE)   2019-04-10 19:30:00
感谢回应,但A没有实作B的话还是可以用C压
作者: ssccg (23)   2019-04-10 23:34:00
跟A能不能用无关,问题在其他只知道B不知道A的人能不能用至于为什么其他人要只用B,不直接import A,或是更根本的为什么要有接口这东西,就要自己去看看多型观念了
作者: kohmiho (kohmiho)   2019-04-13 00:05:00
A 没有 implement C 的话,compile 不会成功

Links booklink

Contact Us: admin [ a t ] ucptt.com