Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

実践C#2

609 views

Published on

20156/5/16実施OUCCC#講習会資料

Published in: Education
  • Be the first to comment

実践C#2

  1. 1. 実践C#2 基礎工学部 情報科学科 2回生 翌桧@asunaroucc
  2. 2. オブジェクト指向  オブジェクトとは オブジェクトとはあるテーマを持ったデータと処理の集合をオブ ジェクトと呼ぶ。 たとえば、生徒というオブジェクトは「名前」や 「学校」などのデータを持っている。 さらに、オブジェクトはデータのほかに 振る舞いも持つ。 たとえば、オブジェクトに対して「名前を 教えて」と伝えたときにオブジェクト自身が 保持している名前を返す、などの動作を指す。 生徒 名前 学校 学部 学籍番号
  3. 3. オブジェクト指向プログラミング  C#ではクラスベースで実現される。  クラスとは? オブジェクトの設計図のようなもの。クラスで定義された情報 をもとに、インスタンス(実体)を作成する。クラスを元にイン スタンスを作成することをインスタンス化と言う。
  4. 4. オブジェクト指向プログラミング  先ほどの図をC#のクラスにすると、下のようになる。 class Student(){ public string name; //名前 public string university; //大学 public string school; //学部 public int studentNo; //学籍番号 public void AnswerName(){ Console.Writeline(name); } }
  5. 5. オブジェクト指向プログラミング  クラスの使い方 先ほどのクラスをMain関数の中から使ってみる static void Main(string[] args){ Student asunaro = new Student(); //newでインスタンス作成 asunaro.name = “翌桧"; asunaro.university = "大阪大学"; asunaro.school = "基礎工学部"; asunaro.hometown = "沖縄"; asunaro.AnswerName(); }
  6. 6. クラスの継承  クラスを実装する際、他のクラスの情報を引き継ぐことが できる。下の例は、人間というクラスを学生というクラス が継承している。よって、Studentクラスは、大学、学部、 学籍番号のほかに、名前と地元、年齢という情報を持つ。 class Person { public string name { get; set; } public string hometown { get; set; } } class Student : Person { public string university { get; set; } public string school { get; set; } public int studentNo { get; set; } public void AnswerName() { Console.WriteLine(name); } }
  7. 7. コンストラクタ  コンストラクタとは、インスタンスが生成された瞬間に実 行されるメソッドの一種。クラスと同じ名前のメソッドを 作成すると、コンストラクタとして扱われる。 class Student(){ public Student() Console.Writeline(“名前を入力してください”) public Student(string name){ this.name = name } … }
  8. 8. プロパティ  プロパティとは、メンバーにアクセスするときの動作を定義す るためのメソッド。 class Student(){ private _name; public string name{ get { return _name ; } set { _name = value; } // このようなプロパティはよく使うので、 // この4行はpublic name{ get; set; } と省略して書くこともできる。 … }
  9. 9. publicとprivate  変数やメソッドなどに外部からアクセスできるようにするもの にはpublic、アクセスできないようにするものにはprivateとい うアクセス修飾子を付ける。  呼び出すものがアクセスする必要の無いものは極力privateにし ましょう。  変数を外部から直接操作するのはよろしくないので極力private にしてプロパティで値を設定、取得するようにしましょう。
  10. 10. staticとは  static修飾子を付けた変数やメソッドなどは、静的と言われる。  静的なプロパティやメソッドなどは、インスタンスではなく、 クラスに属する。  静的なプロパティやメソッドは、クラス自体に属するので、一 箇所で値を変更したりすると、他のものもすべて変わってしま うことに注意
  11. 11. 練習問題#1 分数を表すクラスを作り、分数同士の四則演 算を実装しましょう
  12. 12. ジェネリックス  ジェネリックなコレクション  ジェネリックなメソッド  ジェネリックなクラス ジェネリックの例 クラス: class GenericClass<T>{ T member { get; set;} } メソッド: public T GenericMethod<T>(T hoge){ Console.Writeline(hoge); return hoge; } 変数:T hoge; コレクション:List<T> = new List
  13. 13. 練習問題#2 名簿作成プログラムを作成。以下の機能を実装 してください。 (1)IDと氏名を入力して名簿に追加する機能 (2)名簿から検索する機能 ただし、個人の情報はMemberというクラスを 作成して格納してください。
  14. 14. おしまい

×