スキップしてメイン コンテンツに移動

オブジェクト指向とは

普通にプログラミングする手法ですけど。(笑)
Javaが流行りだした当初、たぶん、話題づくりに作った「造語」だと思います。
昔からプログラミングしていた人だと、新しい言葉なのでなんなのかわからないだけです。
ですが、名前は違いますが、普通に昔からやっていたことです。

電子計算機ができた当初、プログラミングは、直線的プログラミングと言われ、一つのブロックで1本のプログラムでした。つまり、「読み込み処理」も「計算処理」も分けることなく、つなげて一つのプログラムとして書かれていました。

少し進んだ時代に、構造化プログラミング、つまり、処理を細かくわけて、「読み込み処理」「計算処理」「書き出し処理」…などと分け、順にそれぞれを呼び出す方式に代わりました。「サブルーチン」や「関数」と呼ばれる、よく使われる処理を予め別に作っておくこともありましたが、その当時は主な使いかたではありませんでした。

で、オブジェクト指向の「オブジェクト」と呼ばれているのは、前述の「関数」や「サブルーチン」を少し発展させたものです。「関数」そのものだと言ってもいいです。なぜ「オブジェクト(物)」と言うのかの説明でよく出てくるテレビの話をここでも書いておきましょう。

テレビを操作するのに、中の回路がどうなっているかなど知る必要はない。ただ、操作方法と見たい番組がわかっていればいい。それでテレビを見ることができる。

Excelでよく使うSUM関数やAVERAGE関数と同じですね。範囲を与えれば、答えを返してくれる。関数のプログラムがどうなっているかは見ることもできない。実は、オブジェクト指向は、プログラムを「関数」ばっかりで作るという考え方です。昔からやっていることです。

オブジェクト指向の従来の関数と考え方が違って見えるところは、関数(メソッド)がオブジェクト(対象物)と組みになっているところです。よく使われるエクセルのVBAもオブジェクト指向言語です。セルの中に色を着ける場合と文字に色を着ける場合の記述は、それぞれ
range("a1").interior.color = rgb(255, 0, 0)
range("a1").font.color = rgb(255, 0, 0)
などと、オブジェクト(対象物=適用先)が先に書かれます。これは、メソッドであるcolorの中で対象を識別して動作を変えるプログラムを記述すると複雑になるから、対象物の定義の中に関数(メソッド)も組としてプログラムされているのです。
昔ながらのプログラムで関数として書くなら、
color(operand:=color of interior of range("a1"), color:=rgb(255, 0, 0)) とかと、関数の名前を書いて、引数として「どこの色か」を書く形になりますね。こうすると、どこの色なのかの判断を関数に入れるため、color関数が複雑になりますね。ですから、初めに「どこの色か」と組みにしておけば、colorという同じ名前でも別のプログラムとして書け、「どこの色」なのかがはっきりすっきりするのです。

Javaの場合、関数名を「クラス名」と呼び、使うときにその「クラス」を「オブジェクト」にコピー(「インスタンス」と言う)して使います。そこのところが、他の言語でプログラミングしていた人にはJavaがわかりにくいと言われるところです。

合同会社ケイエックスでは、サポート扱いですが、Javaもお教えしています。

このブログの人気の投稿

この受信者へ配信できる電子メール アカウントはありません。

アウトルック(MS Outlook)で送信時に出る場合があるというエラーメッセージ。 受信者のサーバーが悪いかのように見えるが、実はOutlookの問題。 「この受信者へ配信できる電子メール アカウントはありません。」 これは、「配信できる電子メール アカウント」と書いてあるのだから、「配信」側が悪い。 送信のアカウント設定が間違っているか、サーバーがダウンしているか、 送信者のアカウントプロファイル(データファイルとは違う)が壊れている。 最悪の場合は、プロファイルの作り直しがいる。

某通販サイトの「おすすめ商品」の表示

某通販サイトの「あなたへのおすすめ商品」は、主に買った物の商品名とレビューした内容の文字を参考にして表示されたりメールが来たりするようだ。 AIでやっているんだろうが、まともに働いていると思えない。  子供用品の宣伝メールがなんで来るのかと思ってみると、「スマイルキッズ」というブランド名の商品をたまに買っているからなようだ。ここの商品、子供とほぼ関係がない。「Excel」というブランド名の化粧品もおすすめにされている。これは、マイクロソフトのExcelとの勘違いだろう。「マグカップ」の宣伝は、エプソンプリンター用インクのあの買う時のヒント用のキーワード「マグカップ」が原因。「リコーダー」なら笛がおすすめになるのだろう。「パスタロン」という肌の保護クリームは、「パスタソース」を買ったから。マイクロソフトOffice系のテキストの「ドリル」から、「う●こドリル」なる小学生用の下品な本がおすすめとなるのだろう。「ブラジャー」の宣伝は「ブラックインク」が原因だと思う。ひょっとすると、「ブラザーのレーザープリンター」のあいまい検索結果なのだろうか? 商品カテゴリーを完全に無視しているようだ。レビューの単語も拾っているようだ。それと、単語での違反検出もやっているようだが、「2本のパイプを差し込んで組みたて」なんていう言葉まで違反だと言ってきたことがある。あとで、謝罪メールが来たが。  うちは、「高齢者用や児童用の講座はありません。すべてビジネスパソコン講座です。」と書いておくと、「高齢者パソコン教室」や「児童用パソコン教室」を検索エンジンで引くのか、たまに間違って「Excel初心者向け講座」などに申し込んでくるお年寄りや親御さんがいる。「Excelってなんですか?」と受講中に聞いてくる。子供の受講者はまだよいが、子供用のテキストがないんですよ。   高齢者用や児童用の講座はないビジネスパソコン教室 東京世田谷合同会社ケイエックスのパソコン教室

コロナウイルス感染症の影響について

当社のパソコン教室は通常営業しています。(土日、祝祭日、平日、すべて営業。) 開業当初から「講師のマスク着用」「インフルエンザ予防注射」「アルコール(消毒用エタノール)と次亜塩素酸ナトリウム(ケンミックス)と塩化ベンザルコニウム(オスバン)による教室およびマウスやモニターの消毒」などの感染症予防を行っています。今のところ、コロナウイルスの感染拡大は東京では広範囲では起きていないようですので、今のうちの受講をおすすめします。 一応、最近海外に訪問したことがある方、熱がある方、咳やくしゃみが出る方は、ご遠慮ください。(咳やくしゃみについては、ウイルスが入っていないとしても、その他のものが飛散しますが、マスクで対処できる程度なら可。) 受講者の方にもマスク着用と入室時の手の消毒をお願いしております。教室にも「受講者用使い捨てマスク」をご用意しております。玄関には「手ぴかスプレー(アルコール)」が置いてあります。 1日講習(1日7時間で1科目修了)、2日講座(2日合計8時間で1科目修了)、夜間通学講座(夜学、2部の通学講座。合計12時間以内で修了。夏秋期午後7時以降、冬春期午後6時以降。) 科目は、Word、Excel、PowerPoint、Access、HTML言語。 合同会社ケイエックスのパソコン教室