[Java] 接口是什么东西?
【Java】接口是什么东西?
由于不太明白,所以进行输出。不确定这是否正确…小心…
“接口是什么意思?”
根据我的发现
-
- メソッド名,引数,返り値のみを定義したもの
-
- 「このクラスは,〇〇というメソッドを持ちます」という「約束」
- 設計に一定の基準を設け,その基準を強制させるもの
这些家伙真是的……
你什么时候用?
-
- 今後沢山,仕様変更がありそうな時
-
- 大人数での開発
- 大型プロジェクト
听说是在这种时候使用的。
界面的目标
-
- クラス間の依存度を下げたい
-
- 疎結合の実現
- 変更に強くしたい
在观测中,最常见的意见是,在规格确定之后,我们不希望频繁进行大量的修改!!!我认为应该先采取措施预防。
这是什么意思?
具体一点?试着用例子进行解释。
假设
-
- チーム開発
-
- interfaceを使わずに作った
- 誰かが作ったクラスAがクラスBからあるデータを受け取っていた
故事
-
- 由于规格变更,必须修改从C类接收数据的方法。虽然已经创建了C类,但A类是基于从B类接收数据的前提下设计的,需要进行修正。
在了解C类的内容后,有人需要修改已创建的A类。
这是为什么不好吗?
只有明确了C类的内容,某人才能修改A类。由于A类对B类有较高的依赖性,才会出现这种情况。
而且这次,对于C班的依赖程度变得更高了。
如果以后出现D或E班级的话…那将会非常麻烦呢…
如果要用中文表达这句话,可以这样说:怎么样才好呢?
在A班和B班之间设立一个接口
如果类A遵循接口接收流动数据。
通过遵循接口实现类C,就不需要改变类A。
将来,即使将类C更改为D或E,只要遵循接口,类A就不需要知道类E或D。
未来,A班将继续根据接口接收传入的数据。
可能……
最后想要传达什么意思?
如果在外部制定规约来降低依存程度,就无需了解其内部内容。而且只要遵循规约,无论做什么都可以。
我认为,这就是事情。只要大家遵守规定,就好!!!而这个规定是接口。
对不起,我还是不太明白…
我很累了,所以我会放弃,像你猜测的那样,我不太明白,充满了言辞。
文献引用
各个地方都在引用的神
https://www.gixo.jp/blog/5159/
“Teratail” 也就是 “大川堂”
这篇文章需要更多具体的讨论内容。