構造化プログラミングとオブジェクト指向プログラミングを比較したとき、コードの共通部分を上か下のどちらの方向にもっていくのかという違いがある。前者では共通部分をサブルーチンとして下へくくりだす。後者では共通の属性をスーパークラスやインターフェースとして上に置く。上や下という言葉は適切でないかもしれないが細かいことは気にしない。なぜなら次の歌が書きたかっただけだから。
やや旬は逃していますが、せっかくなので聴いてください。どうぞ。
■ プログラムの共通部分を上から下にくくりだすの歌 チャラチャチャ チャラチャ〜♪ チャラチャチャ チャラチャ〜♪ チャラチャ チャラチャ チャチャラチャラチャ〜♪ 上から 上から 共通部分がきてる〜♪ 構造化プログラミングでは それを 下へ括りだす〜♪ いきなりやってきた〜 上からやってきた〜♪ ふいにやってきた〜 上からやってきた〜♪ 僕はそれを下へ括りだす♪ 上から 上から そう上からきたものを〜♪ 僕は下へ括りだす〜♪ もしも オブジェクト指向で 共通部分がいきなりやってくることがあれば〜♪ この歌を 思い出して〜 そして 今度は逆に上に括りだしてほしい〜♪ 構造化プログラミングでは 上から来たものを下に括りだすの歌〜♪ オブジェクト指向プログラミングでは 下から来たものを上に括りだすの歌〜♪ あぁ〜 このサブルーチンとスーパークラス〜♪
もちろん元ネタはムーディ勝山のこのネタ。