ブルーノのC#プログラミング & unity勉強日記

プログラミング素人、ブルーノの自主勉強ノートです。他のプログラミングを勉強したい方の助けになれば幸いです。その他趣味の雑記もしていきたいです

abstract(抽象)クラス

f:id:covory10101101276:20171011083719j:plain

みなさんこんにちは🌚

朝は空気が澄んでいてとてもランニングしやすいです。起きるのは大変ですがちょっと早起きして外にくりだしてみると案外気持ちいいですよ笑

さて今回はのちにやるインターフェースというものに似ている抽象クラスについてまとめます。

抽象クラスについて

今までは基本クラスである程度設計図を作り、派生クラスで少し変更を加える形ばかりを取っていましたが、基本クラスでなんの具体的なデータも入れずとりあえずの雛形だけ作って、派生クラスでその実装を行いたい場合も出てきます。そんな時は基本クラス内でabstractキーワードを使うことで抽象メソッドを作ることができます。そして抽象メソッドを含むクラスを抽象クラスと言います。

抽象クラスと抽象メソッドの例)

abstract class クラス名

{

    abstract 返すデータ型 メソッド名(パラメータリスト);

}

ちなみに派生クラスではこの抽象メソッドの中身を全て実装する必要があります。

f:id:covory10101101276:20171012110800p:imagef:id:covory10101101276:20171012110804p:imagef:id:covory10101101276:20171012110807p:image

長い文を書いてしまいましたが、要点は3〜11行目で、設けた抽象クラスを実装し、3つの数の最大公約数を求めるクラスを作ってみました。だいぶ無駄が多いプログラムだと思うのでどなたかご指摘お願いいたします😅😅今回はここまでにしておきます

 

この先にやるインターフェースという概念にとても似ているこの抽象クラス。これらの違いについても明確にして行こうと思います🙂🙃