*

オブジェクト指向 その2 「設計図」と「部品」

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

それではオブジェクト指向を具体的に解説していこうと思います。といっても、天才でない限り、初学者でいきなり100%理解を求めないほうがいいでしょう。

難しい概念を理解するための心構え

オブジェクト指向に限らず、プログラミングでは難しい概念がたくさん出てきます。

これらを最初に頭から100%理解しようとすると、天才でない限りは即死します

その場合、

  1. つまり何なのか?というざっくりとしたイメージ
  2. コードの反復演習
  3. 概念としてしっかり理解する

このステップが必要かと思います。

真面目な指導者の方は最初の段階で概念をしっかり理解させなければいけない、と考える方が多いですが、指導者も学習者もストレスがたまりますのでやめた方がいいでしょう。

ここらへんで私が頭に思い浮かぶのは英語学習です。

英語を学習するときに中学1年生ではまずあいさつ程度の簡単な英語表現を勉強したりして、英語になれることから始めます。この段階ではある程度正確性は犠牲になります。

This is a pen のような簡単な文章でも、this,is,aのような単語の性質を掘り下げては説明しません。

this=「この」 is=「~です」a=「1つの」と教えます。これは正確ではないですが、完全な理解は初学者には到底無理なので現時点での理解度でとりあえず対応できるやり方ですすめます。

ある程度英語に慣れたところで論理性を問われるような学習をすることが一般的です。

ざっくりとしたイメージ

まずはオブジェクト指向がどんなものかということを理解することが必要です。

前回の部品だけですとさすがにコードは書けるようにはならないので、コードが書けるぐらいの必要最低限のイメージが大事かと思います。

コードの反復演習

その次に大事なのは理解があやふやな状態でとりあえず書く、動かすということです。

オブジェクト指向のコードをとりあえずは書いてみましょう。たくさん書いて(もちろんこの段階で意図しない動きをすることが多々あります。)概念を少しずつ理解していくことが大事です。

概念としてしっかり理解する

100%正確ではなくてもある程度の概念がわかった時点では「オブジェクト指向」に関して体系的に書かれた本を読んでみましょう。

今までやってきたことを体系的に理解できたり、知らない機能について理解できるようになります。1番最初にこの段階にすすむとわけがわかりませんが、この段階になって初めて本が「読める」ようになっています。

実際には「概念の理解」というのもレベルごとに違いますので、上記の123を繰り返すことになるかと思います。

オブジェクト指向のイメージ

それでは「ざっくりとしたイメージ」の理解に取り組んでいこうかと思います。前回、オブジェクト指向は「部品」を作ることだと説明しましたが、もう少し具体的な部品の作り方を書いていきます。

オブジェクト指向に必要なのは「設計図」と「部品そのもの」です。

設計図

部品を作る場合、まず設計図が必ず必要になります。

  • 大きさはどうするか
  • 重さはどうするか
  • 色はどうするか
  • 機能は何か

など作る前にまずどんなものを盛り込まないといけなのかということが大事になってきます。

設計図に盛り込む情報は大きく分けると「状態に関するもの(重さ、大きさ、色など)」「機能に関するもの(電気がつく、振動する)」の2つに分かれます。

部品そのもの

設計図を作っただけでは当然「部品そのもの」は作れません。

部品そのものを作るにはあたりまえですが、設計図から実際の部品を作り出す工程が必要になります。

オブジェクト指向でもまず設計図を作る段階と部品を実際に生成する2段階に分かれます。

まとめ

とりあえずはこれでなんとかオブジェクト指向のコードがかける最低限の基礎イメージができたと思います。

最初は「状態と機能を記した設計図」と「部品」の2つが必要ということだけわかればOKです。

オブジェクト指向というと「カプセル化」「継承」「ポリモーフィズム」「クラス」「インスタンス」「コンストラクタ」という初心者殺しのわけのわからん言葉がたくさんでてきますが、一番最初はわきに置いておいた方がよいかと思います。

最終的にこれらの言葉を理解することは大切ですが、いまはわきに置いておきましょう。

結局今回もコードが書けませんでした・・・(汗)次回以降コードを書いていこうと思います。

関連記事

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

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

記事を読む

開発を便利にする道具たち

PHPだけではありませんが、プログラミングには開発スピードをアップさせるための便利な道具があります。

記事を読む

初心者でもできる!作れる!WEBサービスの開発 その3 運営体験記編

(前回までの続き) 初心者でもできる!作れる!WEBサービスの開発 その1 準備編 初心

記事を読む

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

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

記事を読む

プログラミング学習法「写経」について

本日は本ブログのメインテーマであるプログラミング学習について考えてみたいと思います。 今までプ

記事を読む

PHPのメリット・デメリット

うちのブログで一番読まれている記事が「フレームワークのメリット・デメリット」ですね。 タイトル

記事を読む

データを扱ってみよう その1(変数)

こんにちわ、松本です。 前回の記事は読んでいただけたでしょうか。私よりPHPに関して知識のある

記事を読む

30代、未経験者、独学中心でWEBエンジニアとして就職するまで

のっけからストレートなタイトルでスイマセン。 昨日ブログのアクセスをいろいろとみていましたが、

記事を読む

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

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

記事を読む

初心者が読みやすいコードを書くときに気をつけたい4つのポイント

本日のお題は、「読みやすいコードの書き方」についてです。 プログラミングをやりたての頃は機能を

記事を読む

Message

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

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

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

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

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

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

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

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

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

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

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

→もっと見る

  • follow us in feedly
PAGE TOP ↑