半人前プログラマーの技術談議

開発した物と,C#を入門者向けに解説した記事を書いています!

【C# オブジェクト指向】参照型 part2-4

calendar

reload

こんにちは!シロウです!

今回の内容はオブジェクト指向とあまり関係ないかもしれません.

ですが知ってほしい内容です!

参照型

変数の型には,値型(データ型)と参照型があります.

値型変数は,値そのもの(直接値)を格納するのに対し,

参照型変数は,値が置いてある場所(所在地情報)を格納します.

C#では,次のように分類されます.

f:id:pokoshirou:20181013144029p:plain

今回は,配列とクラスを例に参照型を扱ってみます.

 

配列

次のプログラムを例にしてみます.

 

ソースコード

 

実行結果

f:id:pokoshirou:20181013181405p:plain

 

n2にn1の参照先を代入した後,n1[2]の参照先の中身を40に代入して変更すると,n2[2]の値も40に変わっています.

このプログラムの流れを図に表してみます.

参照型変数は所在地情報を持っているので,仮に所在地情報を4桁のアルファベッドとして考えてみます.

f:id:pokoshirou:20181013183728p:plain

f:id:pokoshirou:20181013183739p:plain

f:id:pokoshirou:20181013183753p:plain

図にすると,動きが見えてくると思います.

 

クラス

クラスも配列と変わらないです!

次のプログラムを例にしてみます.

 

ソースコード

 

実行結果

f:id:pokoshirou:20181013184845p:plain

 

参照型なので,変数cの中身も変わっています.

図は省略します.

 

 

今回はここまで.

次回から継承に入ります!

補足は番外partで扱っていこうと思います.