C#の勉強

高校の頃にCを触っていたが、設計も何もめちゃくちゃに書いていた。
社会人になり、PG能力あったら便利だなぁと思い、
徒然なるままにC#の勉強記録を残す…
なお、C#超入門、独習C#を両方見て理解を深めようと目論んでいる(・∀・)

7.1クラス

関連のある変数とメソッドをまとめた物
C#の基本
C#アプリはクラスの集合体
Pascal記法で統一

7.2メンバ変数(フィールド)

変数と構文はほぼ同じ
先頭に修飾子を付与できる←?で
varキーワードは利用できない コンパイラが自動で型を判断 ←なんで使えないの?

何使うんこれ?

7.3メソッド

処理のまとまりごとに名前を付けて分割できる仕組み
クラスで管理されているデータ(フィールド)の値を操作するための役割

this

フィールドとローカル変数の区別に使われることもあるが…
フィールド名の先頭に"_"をつける方法もある…(統一せいや…)

overload

名前は同じで引数の型・並びだけが異なるメソッドを、複数定義すること
※戻り値の方は対象外! 戻り値では呼び出し元は見分けつかない。
で、なんのため?
➡引数が違うけど、似たようなことをするメソッドを同じ名前で書けるから後々わかりが良い!

7.4コンストラクタ

・初期値の入力忘れを無くせる
・クラス内部で利用する外部リソースの準備をする
ほとんどのクラスは使う時、最初にnew演算子でインスタンス化する。
このインスタンス化のタイミングで呼び出されるメソッド

普通のメソッドと違う点
・使える修飾子はアクセス修飾子、static、extern (><)わからん?
・戻り値は持たない
・名前はクラス名と一緒(不自由)

「デフォルトコンストラクタには頼ってはいけない」

コンストラクタのoverloadもある!

オブジェクト初期化子

・複数のメンバを初期化できる
・初期化子に記述できるのはアクセス可能なメンバーだけ
・初期化の順番に要注意

ファイナライザー(デストラクター)

コンストラクタと対を成す存在…
オブジェクトが破棄されるタイミングで実行される。
ほぼ使わんらしい…
using命令の方を使うらしい

7.5 クラスメソッド/クラスフィールド

インスタンスを生成しなくてもクラスから直接に呼び出せるメソッド/フィールド
静的,staticとも呼ぶ
何に使うんこれ?

この記事が参加している募集

この記事が気に入ったらサポートをしてみませんか?