BLOG

【オブジェクト指向最後の難関】コンストラクタを使ってコードを書きながら解説!

2021-11-01

このブログはロックシステムのYoutubeチャンネル「ロックシステムアカデミーCH」の文字起こしや使用したコードの解説等をしています。
是非動画本編もご覧ください!
よろしければチャンネル登録も宜しくお願い致します!


今回使用したコードはこちら!

    public class Program
    {
        //メインメソッド
        public static void Main()
        {
            //プレイヤークラスから生まれたインスタンス
            var player1 = new Player("勇者テム");
            player1.Attack();
            
            var player2 = new Player("勇者ロックン");
            player2.Attack();
            
            player1.Attack();
        }
    }

    //プレイヤークラス
    public class Player
    {
        private string name;
        
        //コンストラクタ
        public Player(string name)
        {
            this.name = name;
        }
        public void Attack()
        {
            Console.WriteLine(name + "はスライムに攻撃した");
        }
    }


前回の動画ではクラスとインスタンスの関係について勉強したね。
今回は、オブジェクト指向を使ってガンガンコードを書いていこう!


OK!用語の意味がわかってても実際にコードを書けないと意味がないもんね。


じゃあ、早速おさらいをしながら軽くコードを書いていこうか。ぜひ、みんなも一緒にやってみてね。


まず今からやりたいことを説明するね



・Playerクラスを作成してAttackメソッドを作成
・Attackメソッドで("勇者はスライムに攻撃した")を出力
・MainメソッドでPlayerクラスにAttackメソッドを設定

クラス・インスタンスを使ってプログラムを作るんだね。
よーしやってみるぞ。まずはクラスを作成して、次にAttackメソッドを作る、最後にインスタンスを作ってから今作ったAttackメソッドを設定・・っと。






良い感じ!このクラス「 Player」はあくまで概念の話だから、クラスをもとにして、実際のインスタンスを作ったんだね。


書き方のルールは




今回のように、varで省略して書いたりもするよ。Playerクラスで作ったAttackメソッドをメインメソッドに呼んできて.(ドット)で結びつけることで「 Player」が攻撃するように出力したんだね。
.(ドット)で結びつける書き方は良く使うから覚えておくと良いね。オブジェクト指向の書き方は何回も書いてマスターしていこう。


「コンストラクタ」を使ってみよう!



じゃあ、つぎはコンストラクタというものを使って「 Player」に名前の情報を追加してみようか。
コンストラクタの説明の前に1つ確認しておこう!
いままでクラスを定義するときにどうやってそのクラスを説明してたか覚えている?


んーとクラスはこんな図で考えてたよね。このプロパティって部分やメソッドでクラスに情報を付与してたね。




大正解。その感覚とコンストラクタは似てるね。
コンストラクタとは「クラスをnewした瞬間に実行される関数」のことだよ。
これを使うとインスタンスに情報を追加することが出来るんだ。




クラスはプロパティやメソッドを使って情報を定義してたけど、インスタンスにはコンストラクタで情報を追加するってこと?


そうなんだ!実はこのコードで「 Player」クラスから作られたインスタンス、”player”はなんの情報もない物体なんだ。
コンストラクタを使うとこのplayerに名前だったりHP、MPなどの情報をインスタンスが生成されたタイミングで渡すことが出来るんだよ。 続きは動画で詳しく解説しているから見てみよう!


次の動画でこのシリーズのラスト!最後はオブジェクト指向で前に作った計算アプリをパワーアップさせちゃおう!



チャンネル登録よろしくお願いします!
ロックシステムアカデミー
大阪福島にあるプログラミングスクール「ロックシステムアカデミー」です!「プログラミング作って実践」をテーマに楽しく分かりやすいアプリ開発のレクチャー動画をアップしていきます! チャンネル登録よろしくお願いします! プログラミングスクール ▼「ロックシステムアカデミー」WEBサイト https://rocksystem.co.jp/academy/
https://www.youtube.com/channel/UC6JxNQ2QTX8Dl96V2MMNP8A

株式会社ロックシステム

「ブラック企業をやっつけろ!!」を企業理念にエンジニアが働きやすい環境をつきつめる大阪のシステム開発会社。2014年会社設立以来、残業時間ほぼゼロを達成し、高い従業員還元率でエンジニアファーストな会社としてIT業界に蔓延るブラックなイメージをホワイトに変えられる起爆剤となるべく日々活動中!絶賛エンジニア募集中。