今更ながらですが、wikipediaでは以下のように説明されています。
つまりまわりくどい表現を人間にとって分かりやすい(より心地よい : sweeter)表現に置き換えてくれるからと読めば良いようですから、それは説明として分かりやすいと思いました。
admin
la vie libre
TypeScriptで改めて思うことですが、色々と世の中で議論されているのは承知のうえで、
過去の多くのオブジェクト指向言語と言われるものは、おそらくJavaが代表的ですがabstract classとinterfaceを持ちます。
どちらも例えて言えば建物ならば骨格を作る役目ですが(骨格なしでは粘土の家のように脆い作りになるから)、interfaceが全ての種類の骨格を規定するとするならばabstract classは壁とか柱の大括りのパーツを規定するようなもので、interfaceの方がより汎用性がある骨格定義方法だろうと思います。
ならば抽象化部分は全てinterfaceを使えばabstract classは不要に行き着くのですが、例えばGolangは抽象化はinterfaceだけで生態系として成り立っているわけで(Golangにはオーバライドも継承も無い、但しinterfaceで他のinterfaceは組み込めるけれども、従来型のオブジェクト指向言語の特徴は持たない)すから、おそらくinterfaceだけで不都合を感じることはないだろうと思うのでそうやってみようかと。
admin