次回予告:p.222 練習問題をクリアして、第9章に進みます 講義メモ:memo20250301.txt
for trainees of Hirano's class only
次回予告:p.222 練習問題をクリアして、第9章に進みます 講義メモ:memo20250301.txt
p.212 インデクサ ・主に、配列をデータメンバとして持つクラスにおいて「オブジェクト名[添字]」とすることで要素を扱える仕組みがインデクサ ・アクセッサと似た記述が可能なので、データの保護にも役立つ ・定義書式: データ型 this[インデックス型 インデックス] { get {…} set {…} } ・getの基本構文は「get { return 配列名[インデックス]; }」 ・setの基本構文は「set { 配列名[インデックス] = value; }」 アレンジ演習:p.213 indexer01.cs ・「””」が代入されたら要素に代入しないようにしよう 作成例 //アレンジ演習:p.213 indexer01.cs using System; class MyClass { string[] name = new string[5]; //データメンバである配列 public string this[int i] { //インデクサの定義(データはstringで、インデックスはint) get { return name[i]; //インデックスを添字として配列の要素を得て返す } set { if (value != "") { name[i] = value; } //インデックスを添字として配列の要素に値を代入(""以外) } } } class indexer01 { public static void Main() { MyClass mc = new MyClass(); mc[0] = "一郎"; //オブジェクト名[インデックス]なので、インデクサのsetが呼ばれる mc[1] = "次郎"; mc[2] = "三郎"; mc[3] = "四郎"; mc[4] = "五郎"; mc[2] = ""; //インデクサのsetでチェックするので代入されない for (int i = 0; i < 5;…
・p.204「静的クラス」から p.204 静的クラス ・静的メンバのみによるクラスは、静的クラスにすることができる ・書式: static class クラス名 {…} ・義務はないが、静的クラスにしておくことで、誤って静的ではないメンバが出現することを防止できる アレンジ演習:p.204 static02.cs ・静的クラスにインスタンスメンバを追記してエラーになることを確認しよう 作成例 //p.204 static02.cs C#2.0以降 using System; static class MyClass { //静的クラス public static int x; //静的データメンバ // int y; //エラーになる public static void showX() { //静的メソッド System.Console.WriteLine("x = {0}", x); } } class static02 { public static void Main() { MyClass.x = 10; //静的データメンバなのでクラス名指定で扱う MyClass.showX(); //静的メソッドなのでクラス名指定で扱う } } p.205 静的メンバとインスタンスメンバの混在 ・1クラスに静的メンバとインスタンスメンバの混在が可能だが、下記のルールがある ① 静的メソッドはインスタンス変数を扱えない(区別できないので) ② 静的メソッドはインスタンスメソッドを呼べない(〃) ③ 静的メソッドはthisを使えない(thisはインスタンスを指すので) ・なお、インスタンスメンバから静的メンバへのアクセスには制限はない(クラスに1つしかないので) p.205 static03.cs 解説図 アレンジ演習:p.205 static03.cs ・静的メソッドでインスタンス変数を扱うとエラーになることを確認しよう ・静的メソッドでインスタンスメソッドを呼ぶとエラーになることを確認しよう ・静的メソッドでthisを使うとエラーになることを確認しよう 作成例 //アレンジ演習:p.205 static03.cs using System; class Cat { static int NoOfTail; //静的データメンバ string Name; //インスタンス変数 public void SetName(string strName) { //インスタンスメソッド Name = strName; //インスタンス変数を扱える } public void ShowCat() {…
ゲームソフト販売本数ランキング:今週1位は「龍が如く8 外伝 Pirates in Hawaii」GO! 賞金総額140万円!ゲーム開発コンテスト『Tokyo Game Jam』参加者募集。ゲーム制作へのAI活用や業界動向、ハッカソンのコツを語るプレイベント開催 GO! Steamの日替わりセール対象が1日6枠に拡張!1年間で2,500本以上のゲームを支援した精選プロモーション GO! 電子書籍ストア運営のBookLive、PCゲーム市場に初参入 GO! 「現実のギャンブルルールではない」訴え認められ人気ローグライク『Balatro』『幸運の大家様』海外レーティング緩和へ GO! 「生成AI利用した作品のフィルタ」機能をSteamDBが実装―AI利用を開示した作品を一括で非表示に GO! ワーナーが『Wonder Woman』開発を含む3スタジオを閉鎖…サ終迫る『MultiVersus』スタジオも継続せず GO!
・本日もありがとうございました。 また来週もお願いします。 残り3回は少しペースが上がりますので、 しっかりとスキルアップしてください。 ・今回もありがとうございました。 もうあと数回ですね、すごく早く感じます。 次回もよろしくお願いします。 こちらこそ、よろしくお願いいたします。 ・本日もありがとうございました。 ・今日もありがとうございました。次も頑張ります。 応援します。