[備忘録] C#入門で学んだことをまとめました 動画のキャプチャ 9/38
はじめに
こんにちは、Suzuka22です。しばらくC#の勉強をサボっていました。すみません。突然ですが私が開発した予約投稿アプリの方はいかがでしょうか?まだ使ったことがない、何のこと、、?と思われた方は下の記事を読んでみてください。アプリの感想、要望、クレームなどお待ちしています。
さて、本題に入りますが現在業務でC#を使っています。しかし、なんとなくでコードを書いています。なんとなくのままだと一生できるようにならない!!と思ったので予約投稿アプリの開発と同時にC#の勉強も今日から行っていきます。備忘録なのでメモみたいに書いていきますがアウトプットが大事なので頑張ります (継続が大事なのにサボっていました。すみません)
参考動画
まずは以下の動画と記事を参考に勉強します
備忘録
継承:あるクラスのデータ構造と操作を引き継ぎ、新しいクラスを定義するための機能のこと
継承したクラスをサブクラス
継承元のクラスをスーパークラス
継承を行う方法:class クラス名:親クラス名
子クラスのコンストラクタでは、親クラスのコンストラクタを呼ぶ必要がある
子クラスのコンストラクタはbaseで呼ぶ
子クラスを作るためだけに存在しているクラスは「abstract class クラス名」と、abstractキーワードをつけて抽象クラスとして定義する
抽象クラスとして定義されたクラスは、インスタンス生成が不可
privateメンバは子クラスからもアクセスすることは不可
外部へは非公開だけど子クラスからはアクセスさせたい場合はprotectedを活用
is演算子は、オブジェクトが特定の型であるかどうかを判定するために使用
親クラスから子クラスへ変換することをダウンキャストと呼ぶ
switch文を用いたパターンマッチングはcase 型 変数 when 条件式と書く
継承を行うソースコード
abstract class Menu
{
private string name;
private string description;
private int price;
public Menu(string name, string description, int price) {
this.name = name;
this.description = description;
this.price = price;
}
public string Name
{
get {return name;}
}
public string Description
{
get {return description; }
}
public int GetPriceWithTax()
{
const double taxRate = 0.1; // 消費税率10%
return (int)Math.Round(Price * (1 + taxRate));
}
}
class DrinkMenu : Menu
{
private bool isCold;
public DrinkMenu(string name, string description , int price, bool isCold)
: base(name, description, price)
{
this.isCold = isCold;
}
public bool IsCold
{
get {return isCold; }
}
}
class MainMenu : Menu
{
private bool isVegetarian;
public MainMenu(string name, string description, int price, bool isCold)
: base(name, description, price)
{
this.isVegetarian = isVegetarian;
}
public bool isVegetarian
{
get {return isVegetarian; }
}
}最後に
備忘録の内容が短くて申し訳ありません。
[宣伝] 発信中のアカウントについて
※ウマ娘の声をフーリエ変換した記事や水栓の開閉判定をLineに通知する記事も書いています.suzuが私です.興味がある方はぜひご覧ください!
※Qiitaもやっています.
※ zennもやっています
アニメを題材にテック記事を書いています。
UnityやITなどの備忘録も発信しています。
ぜひフォローよろしくお願いします!
いいなと思ったら応援しよう!
使っていただいたアプリや記事の内容に満足した場合は応援をよろしくお願いいたします。いただいたチップは今後の開発費用として使わせていただきます