10月14日(金)1、2コマ目

今日、やったこと

練習問題のつづき+解説

クラス

今日のホワイトボード

練習問題の解答例+解説

練習問題1-1


Console.Write()とConsole.WriteLine()

Write()メソッドは改行なし、WriteLine()メソッドは改行ありです。

図 Write()メソッドとWriteLine()メソッド


練習問題1-2

とくに指定はしていませんが、配列に代入するフィボナッチ数列の値はループを使って、計算した結果を代入してほしいです。


練習問題1-3


練習問題1-4

10進数=>2進数へ変換するには、答えが0になるまで、2で割り、余りが各けたの数、答えが次に2で割る数でした。これをプログラムに置き換えればOKです。


図 ループ処理


練習問題1-5

2の補数がちょっとややこしいかもしれません。

が、基数変換同様、処理の流れをプログラムに置き換えればできます。


図 2の補数へ変換するながれ


練習問題1-6

解答例はバブルソートで並び替えています。


クラスはCの構造体と同じ?

クラスはCの構造体と見た目はよく似ています。

構造体のメンバ変数とクラスのフィールドは同じようなモノだと思ってください。

構造体は変数を宣言すれば、構造体メンバにアクセスできます。

が、クラスは変数を宣言しただけでは、フィールドにアクセスすることができません。

図 Cの構造体とC#のクラス


クラスは変数を宣言するだけではエリアが確保されない

クラスは変数を宣言するだけでは、クラス内のフィールドの値を保存するためのエリアが確保されません。

キーワードnewを使ってエリアを確保する必要があります。(配列と同じイメージ)

図 キーワードnewを使ってクラス用のエリアを確保する


インスタンス生成

キーワードnewを使ってクラス用のエリアを確保することをインスタンス生成と呼びます。

図 インスタンス生成

メソッド

クラスにはデータを保存するフィールド以外に、メソッドも作れます。
メソッドからフィールドにアクセスすることもできます。
図 メソッド

メソッド呼び出し

フィールドにアクセスするときと同じように 変数名.メソッド名 でクラスに定義したメソッドにアクセスすることができます。
図 メソッド呼び出し

複数のインスタンス

Timeクラス型の変数tm1、tm2の2つ宣言し、それぞれ別々のTimeクラスのインスタンスを参照しています。
図 2つの変数が別々のインスタンスを参照

次回は

クラスの続きです。





 

このブログの人気の投稿

10月3日(木)1コマ目

10月27日(木)1コマ目