C#、VB.net 抽象クラス、インターフェースの勉強

C#、VB.net 抽象クラス、インターフェースの勉強

個人や小規模のソフトなら、継承だけ使っていれば問題ないはずだが、抽象クラス、インターフェースの使い方を覚えていないと他人のソースコードを見たときに意味がわからなくなるから、結局知っておかねばならない。
人生は余計なものも覚えないとやっていけないことがわかる。
毎日カップラーメン食べてれば健康に悪いのと一緒だと思えばよい。

抽象クラスとは

抽象クラスの基底クラスではオブジェクトが作れず、派生クラスを使ってオブジェクトを作成します。
抽象メソッドは派生クラスでオーバーライドします。
 とすると継承クラスと同じと思えそうだけど、抽象クラスの基底クラスのオーバーライドされるメソッドには何も定義しません。派生クラス側で定義します。
そのため派生クラスで定義を忘れるとエラーになるそうです。
 よって定義忘れを防いでくれるという利点があり、この利点だけが抽象クラスを使用する利点なのだそうです。 開発規模によっては使用しない会社もあるそうです。

ちなみにVB.NETでも抽象クラスとインターフェースはある。昔のVBとは違うのだよ。

インターフェースとは

抽象クラスでしか使えないのか?継承クラスでは使えないのか?
(これから)

・何が何ナノ?

抽象クラスで不便な点
オーバーライドするメソッドは全部オーバーライドする必要がある。
そこでインターフェースを使うことで必要に応じたメソッドだけ上書きするようにする。

インターフェースを使うと何が便利でどんなときに使えばいいの?
(これから)

C#でインターフェースの勉強
VSC#のFormで確認
https://www.ipentec.com/document/csharp-using-interface-abstract-class

こちらの記事もどうぞ