猫以下のプログラミング日記

猫以下のプログラミング日記

ここまでバカかと自分に対して呆れながらも
何とかしてものしないといけない事情から気
晴らしに初めてみる。毎日更新すべくネタは
(勉強は)欠かさないように頑張ります。

Amebaでブログを始めよう!
1 using System;
2
3 class Class1
4 {
5 public static void Main()
6 {
7
8 }
9 }

はい,いきなり1~9の数字が割り振られた何かがあります(笑)
いきなり何なんですかね~?

と思っていた時期が僕にもありました。


これは,C♯での最もシンプルな(自分の知る限り)プログラムです。


…Hello world?知らんな。

過去にFortranを触っていた自分にとっては
「おい,endみたいなやつはどこよ?
 どうやってプログラムを終わらせるの?」

って思っていました。なぜか走る(プログラムが動くこと)んすよね。


さーて今回はこいつらについて自分なりに調べて分かったこと,
「自分はこう解釈した―」ってのを書いていきます。


1行目  using System;

はい!!のっけからわけわからんのを出すなよ!!

これはね~色々調べたら,Microsoft社の方で用意された基本的な
コンポーネント(Component:部品,ここではプログラム内で使用するコマンド)
がたくさん詰まったSystemライブラリ(本が一杯ある図書館から転じて)
からコマンドを直接引っ張りだせるようにする為の…うーん…宣言? 

そう言えば宣言って単語好きだよねプログラミングって。

プログラムを書く分にはいらないっちゃいらないんだけど
書かないとコマンドの一つ一つに「『System』から引用して使ってますよー」
的な前振りをコマンドの一つ一つに書いてやらないといけなくなるんだなこれが。

当然初心者は(自分もだけど)そんなこと知らんので,これを書かずに
プログラムを書いてもエラー(ちゃんと動かないってこと)を吐いてしまう(知らせてくれる)。
なので,大人しくこいつは最初に書いておきましょう。
別に『System』に限らずアプリケーションを構成する部品が詰め込まれた
『System.Windows.Forms』からコマンドを引っ張り出して使いたい時や他の
コンポーネントでも一緒ね。


3行目 class Class1

ん~…class?クラス? あ、「Class1」はクラス名ね。

でー…クラスって何よ?って聞かれると正直困る。だって…これは感覚的に理解して
貰った方が速いと思うし…なにより勉強不足なもので…
あえて言うなら「モノの状態や機能をまとめたもの」かな?
でも,これだけじゃ状態や機能の情報が詰まっている「箱」にすぎないよね。
ここで「オブジェクト」って概念がでてくるんだけどこれは長くなるのでここではやめます。
あ,4行目と9行目の{}(中カッコ)があるけど…

class Class1
{
  (この中に処理を記述するんだよ!)
}

いいたいことがわかったかな?(手抜き感)
この{}でくくっているんだよ。



5行目 public static void Main()

ごにょごにょながったらしく書きやがって…面倒やねん!!

でも馬鹿にしてはいけない。
これはC♯のプログラムの
出発点となるMainメソッド様になりますでます。

これを書かんとプログラムは動いてくれません。
すげー処理や複雑な処理をプログラミングしてもこいつが
なければただの文字の塊になってしまいます。
(なんか例外があるらしいけど)

でまた6行目と8行目に{}があるけど…さっき書いたしいいよね?

public static void Main()
{
  (この中に処理を記述するんだよ!)
}

てなわけ。

え?メソッドってなによって?
ん~…クラスの機能を規定するものらしいです(某猫の本より)

クラス。クラスですよ(大事なことなので2回いいました)

さっきクラスは「モノの状態や機能をまとめたもの」といったけど
メソッドはクラス内の機能を書くためにあるんです。

じゃあ「状態」はどうすんだよ?ってなるけどあわてちゃいけない。
C♯に限らずプログラミングではおなじみのアレがあるじゃない(たぶん)

変数の宣言ってやつがあるじゃないですかやだー(知ったかぶり感満載)

というわけで上には書いてないけどここでクラスの作り方がなんとなく分かったのでまとめるね

(1)クラスの状態を表すには変数の宣言を使う

(2)クラスの機能を表すにはメソッドを作る

こんな感じだね。
…え?こんな簡単なの? クラスを作るの。
(実は他にもルールがあるみたいだけど筆者が良く分ってないのでおあずけ。
て言うかアクセス修飾子やら戻り値の型やらあるけどここでは勘弁して…
終わりがないから)

あ,ちなみにこれをコンパイルしても中身に処理はないから
なにもない真っ黒な画面がでるはず。

今回はここまで(投げっぱなし感)

ではばいばーい(笑)