*

オブジェクト指向 その1 コードを1行も書かずに理解してみる

公開日: : 最終更新日:2016/04/27 PHP, WEB全般, 講義 , , ,

オブジェクト指向

今回はオブジェクト指向について書きます。

プログラミングを少しでもやった(orやろうと思った)方であればオブジェクト指向という言葉を聞いたことがあるかと思います。

現代でもC++/Java/PHP/Perl/Ruby・・などなど有名な言語のほとんどには搭載されてますね。

現代のプログラミングの技術の中でも、超重要であり、初心者にとっては最難関の課題の1つです。

以前、授業ではオブジェクト指向について時間をとってじっくり解説してきましたが、どんなに聡明なかたでも1度で理解できた方はいないです。

最初に行っておくと私の説明を聞いても、オブジェクト指向ができるようにはなりません(爆)

これはプログラミング学習のポイントでも何回か述べましたが、解説をきくだけではだめで自分でコードと格闘する経験が必要になってきます。

とはいえ、基本の考え方だけでもわかっているとちがうので何回かに分けて説明していきますね。

今回は1行もコードを書かずに解説していこうと思います。

オブジェクト指向を一言でいうと

それでは説明をしていきます。

オブジェクト指向を簡単に言うと

「似たようなデータや機能を1つの『部品』としてまとめることで、プログラムを作りやすくする考え方、作り方」になります。

正確ではないとおもいますが、初学者の方にはイメージが伝わることが大事かと思い、このように説明させていただくことが多いです。

なぜオブジェクト指向が必要なのか

オブジェクト指向がなければPHPでシステムが組めないかというとそんなことはありません。今までのレクチャーで紹介したお問い合わせフォームや掲示板などはオブジェクト指向は使っておりませんが、一応動きます。

ただし、これ以上機能を拡張しようと思うとあとあと大変になります。

普段みなさんがユーザーとして使っているようなWebシステムでは高確率でオブジェクト指向が使われているでしょう。

システム開発である機能を作る場合、

大きく分けると

「0から自分ですべて作る」

「部品を持ってきてそれを組み合わせる」

という2通りの作り方があります。

これは極度に単純化していってますのでもちろんこの中間的な作り方もあります。(実際はほとんどがその中間です。)

「0から」というのは今までのお問い合わせフォームや掲示板などの作り方がそれに近い作り方です。

後者の「部品の組み合わせ」というのがオブジェクト指向の作り方になります。

これは別にシステム開発に限らず、プラモデルやパソコンでも家電でも家などの建築物でも同じですし、もっといってしまうと社会や組織、国家といった抽象的な存在にも応用可能です。

部品を組み合わせて作ることにはメリットもデメリットもあります。

以下、ちょっとずつみていきましょう。

メリット

機能の追加、修正が楽

部品作りのメリットとして「最初に作っておくと、あとあとが組み合わせだけなのでラク」ということがあります。

これは料理を自分で全部最初から作るのと、レトルト食品を買って組み合わせることに近いかもしれません。

手間だけを考えた場合、当然レトルトのほうが楽ですね。

作り方を統一できる

これは料理などではちょっとイメージが難しいですが、部品だけで組み合わせる場合、その部品をつかわなくてはいけないので、作り方を統一できます。

プログラムにおいてこの「作り方の統一」という部分は非常に大事です。

これは一般的に使われている電化製品がわかりやすいとおもいますがUSBの形状というのはどの会社のものでも統一されています。

A社とB社でUSBの大きさが違っていたらめちゃくちゃ不便、というか使い物になりませんね。部品を使うことである程度「統一」をすることができるというのもメリットの1つです。

デメリット

部品を作るのがメンドイ

これも容易にイメージできるかと思いますが、部品作りで何かを作る場合、部品そのものをつくる時間というのが必要なので最初は当然めんどくなります。

そもそも部品を作る時間ではなく、部品の設計に時間がとられます。これらに時間がかかるのがデメリットといえばデメリットです。

部品のルールに従わないといけない

これは「作り方を統一できる」の裏返しになります。

PHPのメリット・デメリットで「自由度が高い」ことはメリットでもあり、デメリットでもある。ということを書きました

(参考リンク http://www.dt30.net/gachinko/?p=806#i-8 )

こちらも同様で、制約が付く分、ルールを守る必要がでてきます。

まとめ

コードを1行も書かずにオブジェクト指向の表面的な部分を解説させていただきました。これは知識がゼロの方を対象に説明していますんで、正確性は犠牲にしています。

最初はまずざっくりとイメージを理解することにつとめましょう。次回以降、実際に簡単なコーディングに入っていこうかなと思います。

関連記事

無料プログラミングスクールのメリット・デメリット

一般的にプログラミングのスクールというのは高額です。 30万以上するような講座が普通なので、ぽ

記事を読む

エラーメッセージで挫折

もうエラーメッセージで挫折しない! 4つのエラーメッセージ対処法

このブログで何回か書いたのですが、PHPに限らずプログラミングの独学はかなり難しいです。 その

記事を読む

プログラミングを独学で身につけるときに大切な6つのポイント

さきほど「プログラミング」で検索キーワードをかけたら入力補完で「プログラミング 入門」や「プログラミ

記事を読む

PHPで掲示板を作ろう!(データベース編) その5 PHP-MySQL連結編

今回はMySQLの第5回目の講義です。 前回までの記事 PHPで掲示板を作ろう!(データベース編

記事を読む

PHPで掲示板を作ろう!(データベース編) その6 まとめ編

今回はMySQLの第6回目の講義です。今回で終わりですので、ソースの説明と今までの解説の概略を書いて

記事を読む

就活生必見! Webエンジニアになるなら知っておきたい超基本業界用語

本日はWEB業界でよくつかわれる専門用語について私の知っている範囲で書いていこうと思います。

記事を読む

データを扱ってみよう その3(多次元配列)

お疲れ様です。松本です。 さて前回の「データを扱ってみよう その2(配列)」から若干日が開いて

記事を読む

お問い合わせフォームを作ろう! その4(PHP)

お疲れ様です。松本です。 今年は振り返ってみればもう半年が過ぎちゃいましたね。今年はいろいろあ

記事を読む

ガチンコ塾、人気記事ベスト5

このブログも開設して約半年たちましたね。 思った以上にたくさんの方に読んでもらえてうれしいです

記事を読む

勘違いしてはいけない未経験ややる気という言葉

かなり久しぶりの投稿になってしまいました・・・ 以前ダイエットに成功し、2年以上かけて10kg

記事を読む

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

無料PHPスクール
自社開発>客先常駐である本当の理由

このブログでも何回か取り上げていますが、ITエンジニアの働き方としては

エンジニアにとって必要なコミュニケーション能力とは

気がついたらもう3月下旬になっていますね・・ 年末年始忙しかった

エンジニアを採用する上で大事なこと

本日はエンジニアの採用について書きたいと思います。最近少し採用に絡んだ

エンジニアが給料を上げる方法を真面目に考えて見ました。

本日はエンジニアと給料の話題について触れて行こうと思います。 エ

エンジニアの「スキル」とはなんぞや

給与が低いことに悩んでるエンジニアへのアドバイスをツイートで見たところ

→もっと見る

  • follow us in feedly
PAGE TOP ↑