タグ

ブックマーク / kmaebashi.com (2)

  • オブジェクト指向再入門/オブジェクトに仕事をさせる、ということ

    関数に仕事をさせる、ということ あるまとまった処理があるとき、それを「関数」(サブルーチン)にするのは、 ド素人を除き、プログラマなら誰でも日常的にやっていることでしょう。 たとえばC言語では、「文字列を数値に変換する」という関数があります。 「文字列」と「数値」はCでは全く違う型であり、 「"123"」という文字列はそのままでは「123」という数値として 扱うことはできません。 「文字列を数値に変換する」は、自力でも書こうと思えば書けますが、 まともなプログラマならatoi()などのライブラリ関数を使うことでしょう ※1。 int a; char str[] ="123"; a = atoi(str); もし、ライブラリ関数にatoi()相当の関数がなかったとしたら、 きっと自分で同様の関数を作るはずです。 ライブラリ関数を使うにせよ自分で同等の関数を書くにせよ、 ある程度まとまった処理

  • オブジェクト指向再入門/なぜわからなくなってしまうのか?

    いい加減、わけのわからない「たとえ話」はやめよう オブジェクト指向の入門書では、 「謎のたとえ話」から始まるものが多いように思います。 典型的な例は、はじめにでも挙げた、 「哺乳類を継承して犬とを作り、 『鳴く』というメッセージを送ると犬なら『わん』、なら『にゃあ』と鳴く」 って奴でしょう。 他にも、ちょっとWebをぐるぐるすると、清原選手をオブジェクトにしてみたり、 箪笥をオブジェクトにしてみたりなどなど、 およそプログラミングとはかけ離れた説明が蔓延しています。 こんな説明を読んで、なんだかわかったような気分になれる人は、 どっちかというと思考力に欠ける人なんじゃないかと思います。 「わけわからん」という反応のほうが技術屋としては正常でしょう。 いい加減、こういうわけのわからないたとえ話はやめたらどうかと。 あんなもん、わかったつもりの半可通と、 理解できない挫折組を生み出すだけで

  • 1