teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

2

a

2016/03/17 00:11

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -1,6 +1,6 @@
1
1
  仮にAというinterfaceを作りそれを仮にBというクラスが継承したとします。Bのインスタンスを仮にCクラスのメソッドsetA(A a)というメソッドでCのメンバー変数にAクラスとしてセットします。コードにすると雑ですが、下記みたいな感じでしょうか。
2
2
 
3
- interface Aは実装上なくても問題ないしむしろ邪魔に思えるのですが、CがBのインスタンスをAとして扱えるために余計なBのメソッドを呼べないので疎通性がいい!?のだそうです。私は勉強不足の為わかった様なわからんような気分なんですが、interfaceはある程度、活用性がないと作る意味ない気がします。例えばD,E,Fのクラスがあってそれらも、Aのinterfaceを継承して他のクラスに使わせるならわかる気がします。でも、Bのみしか継承しないのだったらいらないと思うのです。
3
+ interface Aは実装上なくても問題ないしむしろ邪魔に思えるのですが、CがBのインスタンスをAとして扱えるために余計なBのメソッドを呼べないので疎結合だからいいのだそうです。私は勉強不足の為わかった様なわからんような気分なんですが、interfaceはある程度、活用性がないと作る意味ない気がします。例えばD,E,Fのクラスがあってそれらも、Aのinterfaceを継承して他のクラスに使わせるならわかる気がします。でも、Bのみしか継承しないのだったらいらないと思うのです。
4
4
 
5
5
  こういうのはリファクタリングのテクニックなんですか。そんなに重要なんでしょうか。テクニックの名前とかありますか。
6
6
 

1

改定

2016/03/17 00:11

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -1,6 +1,6 @@
1
1
  仮にAというinterfaceを作りそれを仮にBというクラスが継承したとします。Bのインスタンスを仮にCクラスのメソッドsetA(A a)というメソッドでCのメンバー変数にAクラスとしてセットします。コードにすると雑ですが、下記みたいな感じでしょうか。
2
2
 
3
- interface Aは実装上なくても問題ないしむしろ邪魔くさく思えるのですが、CがBのインスタンスをAとして扱えるために余計なBのメソッドを呼べないので疎通性がいい!?のだそうです。私は勉強不足の為わかった様なわからんような気分なんですが、interfaceある程度、活用性がないと作る意味ない気がします。例えばD,E,Fってクラスがあってそれらも、Aのinterfaceを継承したインタンスを使うとかだったかる気がします。でも、Cしかつかわないのだったらいらないと思うのです。
3
+ interface Aは実装上なくても問題ないしむしろ邪魔思えるのですが、CがBのインスタンスをAとして扱えるために余計なBのメソッドを呼べないので疎通性がいい!?のだそうです。私は勉強不足の為わかった様なわからんような気分なんですが、interfaceある程度、活用性がないと作る意味ない気がします。例えばD,E,Fクラスがあってそれらも、Aのinterfaceを継承して他のクラ使わせるなかる気がします。でも、Bのみしか継承しないのだったらいらないと思うのです。
4
4
 
5
5
  こういうのはリファクタリングのテクニックなんですか。そんなに重要なんでしょうか。テクニックの名前とかありますか。
6
6