BASIC
深夜残業。それでもこうやって今回で1313日連続のブログ記事執筆。
まあ疲れた日は記事の内容も簡潔になるんですけどね。
先日から書いているように、最近、Rubyと言うプログラミング言語を学んでいます。
ボクは数十年前に、MSXパソコンやPC-8801、FM TOWNSと言ったパソコンでBASIC言語でプログラムを組んでいました。
それはもう、まったく現在の言語とは違っていて、基本的には前から順番に処理を記述していく言語。
現在の主流であるオブジェクト指向プログラミングとは無縁でした。
その後、ボクは自分の一番苦手な世界で仕事をしようと思い、文系に行きました。
銀行とか不動産とか保険とか。
そして今、またプログラミングを学んでいるわけです。
なので、オブジェクト指向プログラミングなんて、まったくの無知。
そこで、自分のために備忘録的に、学んだことをこうやって記事にしています。
オブジェクト指向
もう、オブジェクト指向に関しては、とにかく理解しにくいです。
今でも自信は無いです。
BASICなら、上から順番に、処理することを書いていきます。
左端に行番号がありますね。
10 kuruma$="クラウン"
20 print kuruma$
kuruma$と言う変数に「クラウン」と言う文字列を放り込んで、それをprint命令で表示しています。
画面には、
クラウン
と表示されるわけです。
ところが、オブジェクト指向では、処理を定義します。
設計図を描く感じですね。
def printCarName(kuruma)
print(kuruma)
end
printCarName("クラウン")
なんて書き方をします。
最初の、defとendの間が定義部分です。
printCarNameはメソッドと呼ばれます。
自分で好き勝手に名前を決めていいんです。
ここではボクが勝手に、
printCarName
と言う名前のメソッドを定義したわけです。
メソッドとは「方法」や「手段」と言う意味です。
そのあとに実際に行いたい処理を書きます。
ここでは、
print(kuruma)
と言う処理をしたいわけです。
kurumaをprintしたい、つまり、kurumaと言う変数の中身を画面に表示したいと言うことです。
ところで、最初の
printCarName
にも
(kuruma)
が付いていますね。これを引数(ひきすう)と言います。
ここにkurumaと言う引数があって、それをprintで表示したいんですね。
で、これで処理を定義できたので、それを実際に呼び出します。
定義したメソッド名を書くだけ。
それが、
printCarName("クラウン")
の部分です。
ここで引数に「クラウン」と書きました。
これで、
kuruma
と言う変数に「クラウン」が入り、それを、
printするわけです。
なので、このプログラムでは、画面に、
クラウン
と表示されます。
ね、ややこしいでしょ。
これをなぜオブジェクト指向と呼ぶんでしょうね。
たぶん、メソッドを定義して、目的の対象物(オブジェクト=object)を作るからなんでしょうね。ホントにたぶん。
上記のように、単に画面に、
クラウン
と表示したいだけのプログラムなら、従来型のBASICのような書き方の方がラクな気がします。
しかし、プログラムが巨大化して、いろんな処理をさせたい場合に、オブジェクト指向の便利さが威力を発揮するわけです。
と書いたものの、それを具体的に説明するスキルは今のボクにはありません。
なので次回をお楽しみに〜、では無いのです。