*

オブジェクト指向 その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://skill-up-engineering.com/gachinko/?p=806#i-8 )

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

まとめ

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

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

関連記事

PHPで掲示板を作ろう!(データベース編) その2 MySQLログイン編

あ、最近はこのブログの画像に凝るようにしています。サイドバーなんかみていただくとブログのアイキャッチ

記事を読む

XAMPPインストール

さて、XAMPPの初歩的な説明とエディタについて説明をしたところで実際にXAMPPをインストールして

記事を読む

初心者でもできる!作れる!WEBサービスの開発 その1 準備編

前回までは掲示板作成をテーマにPHPの基本的な学習内容について書いてきました。 今回は題材にあ

記事を読む

ドキドキ本番リリース時に大切な心構え

今回はエンジニアにとって大切な本番リリースについて。 本番リリースというのはいままで開発環境(

記事を読む

どんなプログラマが身につけておいても損はない重要なスキルとは?

のっけからストレートなタイトルですいません。 ちょっとあおり気味なタイトルですが、今日紹介する

記事を読む

「初心者が勉強するのに良いプログラミング言語は何ですか?」を真面目に考えてみる

プログラミングをそもそもやったことがない方であれば、タイトルのように「どのプログラミング言語をやった

記事を読む

挫折必至!初心者がやってはいけないプログラミングの学習法 ワースト4

多くの方はプログラミングをどのように身につけたらいいのか・・・ということに関心があると思います。

記事を読む

フレームワークのメリット・デメリット

こんばんは。松本です。 昨日25日にはオフィスで第一回目の授業を開講させていただきました。広島

記事を読む

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

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

記事を読む

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

それでは前回のコードを例に少しずつ内容について説明をしていきます。 値を取得するには まず一番最

記事を読む

Message

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

転職エージェントについて

さて、エンジニアとして転職を考えている人であれば転職エージェントを使っ

エンジニアが転職して年収を上げる方法を考えてみました。

えー前回の記事でも書きましたが、2020年2月現在転職活動中です。

2020年のご挨拶

今更ですが、明けましておめでとうございます。 2019年も2本し

自社開発>客先常駐である本当の理由

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

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

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

→もっと見る

  • follow us in feedly
PAGE TOP ↑