BLOG

オブジェクト指向を取り入れてお菓子計算アプリを作ってみよう!

2021-11-05

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



今回使用した「オブジェクト指向を取り入れたお菓子計算アプリ」のコードだよ!
using System;
public class Program
{
    public static void Main()
    {
        //茎わかめの合計金額
        var kukiwakame = new Snack(300, 15);
        Console.WriteLine("茎わかめの合計金額は" + kukiwakame.GetTotalPrice() + "円です");
        //鶯ボールの合計金額
        var uguisu = new Snack(200, 10);
        Console.WriteLine("鶯ボールの合計金額は" + uguisu.GetTotalPrice() + "円です");
        //せんべいの合計金額
        var sennbei = new Snack(700, 15);
        Console.WriteLine("せんべいの合計金額は" + sennbei.GetTotalPrice() + "円です");
    }
}
public class Snack
{
    //プロパティ:値段
    int price;
    //プロパティ:個数
    int quantity;
    //コンストラクタ:値段、個数を設定
    public Snack(int price, int quantity)
    {
        this.price = price;
        this.quantity = quantity;
    }
    //メソッド:合計金額を計算する
    public int GetTotalPrice()
    {
        return price * quantity;
    }
}

オブジェクト指向を取り入れたお菓子計算アプリを作ろう!


いよいよ、このC#講座シリーズも最後!第20回目のこの動画では、第7回で作ったお菓子計算アプリをオブジェクト指向の考えを取り入れてコードを書いていくよ。


パワーアップお菓子計算アプリだね!かかってこーい!


まず最初に第7回で作ったプログラムのを見てみよう。おさらいも兼ねてよかったら動画も見てみてね。



第7回で使用したコード

//kukiwkame_price 茎わかめの値段
var kukiwkame_price = 300;
Console.WriteLine("茎わかめの値段:" + kukiwkame_price + "円");

//uguisu_price 鶯ボールの値段
var uguisu_price = 200;
Console.WriteLine("鶯ボールの値段:" + uguisu_price + "円");

//sennbei_price せんべいの値段
var sennbei_price = 700;
Console.WriteLine("せんべいの値段:" + sennbei_price + "円");

//茎わかめの合計金額
var total = kukiwkame_price * 5;
Console.WriteLine("茎わかめの合計金額:" + total + "円"); 


この時は上から順にコードを書いてただけなんだよね。最後のtotal変数で茎わかめの金額を出力してるね。


今とずいぶんコードの書き方が違うことが分かるね。じゃあ、次に今回作成するおかし計算アプリの構成を見てみよう






おー!コメントがあるから、あとはコードを書いていけば良いんだね。やってみるよー!


動画を見てる人もコメントはたくさん活用しよう。やりたいことをまず日本語で書けないとコードを書くのは難しいからね。


えっと・・まずは商品の値段と個数を設定している、Snackクラスに値段と個数を設定していこうかな。
「値段はint price;」「個数はint quantity;」





上のMainの部分でインスタンスを作成して合計金額を出力したいから・・



ここでコンストラクタに値段と個数を設定しておくんだね。プロパティで設定した値を引数に入れてっと・・これでコンストラクタ完成!




良い調子!ここが分からない人は前回の動画を確認してみてね。




これでインスタンスの初期値を設定出来たね。次は、合計金額を追加するメソッドを追加しよう!


合計金額を出したい場合は、値段と個数を掛けたら合計金額は出るはず!
メソッド名をGetTotalPriceとして掛け算は*マークを使うんだよね。




今回は、合計金額の結果をMainで使いたいので計算式にreturnを使おう!
returnを使うと合計金額を計算するメソッドをMainで使えるようになるよ。





よし、これでSnackクラスで商品の値段と個数を設定できた。
次はSnackクラスから茎わかめ、鶯ボール、せんべいのインスタンスを作って合計金額を計算していくぞー!




お!良い感じ!引数にint price, int quantityを設定したから値段300円 個数15個を設定したんだね。
GetTotalPriceは合計金額を出力するメソッドだったね。茎わかめ変数と.(ドット)で結ぶことで、茎わかめの合計金額を出力してねって内容になったね!


これで出力してーっと・・




お!計算結果が出力された!あとは同じように鶯ボールとせんべいの合計金額を出力していこう。
一個できたらあとは簡単だね!



using System;
public class Program
{
    public static void Main()
    {
        //茎わかめの合計金額
        var kukiwakame = new Snack(300, 15);
        Console.WriteLine("茎わかめの合計金額は" + kukiwakame.GetTotalPrice() + "円です");
        //鶯ボールの合計金額
        var uguisu = new Snack(200, 10);
        Console.WriteLine("鶯ボールの合計金額は" + uguisu.GetTotalPrice() + "円です");
        //せんべいの合計金額
        var sennbei = new Snack(700, 15);
        Console.WriteLine("せんべいの合計金額は" + sennbei.GetTotalPrice() + "円です");
    }
}
public class Snack
{
    //プロパティ:値段
    int price;
    //プロパティ:個数
    int quantity;
    //コンストラクタ:値段、個数を設定
    public Snack(int price, int quantity)
    {
        this.price = price;
        this.quantity = quantity;
    }
    //メソッド:合計金額を計算する
    public int GetTotalPrice()
    {
        return price * quantity;
    }
}

じゃあ、もう一度出力してみよう!




できた!!全てのお菓子の合計金額が表示できたよ


おめでとう!よくここまで頑張ったね!これで基礎講座は一旦おしまいだよ。


ゲームクリアだね!いやー結構大変だったよ!
まだまだ分からないことがたくさんあるけど、引き続き自分で調べたり、参考書を読んで学習するよ!


おー!学習を続けていくことが大事だからね!学習内容を忘れてしまったときは、また過去の動画を見返してみてね。それではまた次の動画で!



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

株式会社ロックシステム

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