*

オブジェクト指向 その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です。

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

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

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

関連記事

「初級」〜「中級」のPHPエンジニアのスキルについてまとめてみる

いままで主にPHP(を中心としたWeb技術)を勉強し始めの傾けに記事を書いていましたが、今回は初級か

記事を読む

PHPで掲示板を作ろう! 掲示板の作成方法 その2

前回の学習 PHPで掲示板を作ろう! 掲示板の作成方法 その1 それでは掲示板の作成方法その

記事を読む

Java/PHP/Perl/Ruby/Python 主要Web系言語徹底比較

本日はWeb系で使われているプログラミング言語の比較をしてみようと思います。 Web系で使われ

記事を読む

ゼロからWEBプログラミング(PHP)をマスターするのに何時間かかる?

おはようございます。松本です。 さて、本日のテーマはタイトルのとおりです。以前受講生の方に「ゼ

記事を読む

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

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

記事を読む

作業が遅くてイライラしている方必見!作業スピードを改善するネタ・ツールなど

エンジニアとして仕事をしていますと、「ある機能を実装する最適な方法(設計やプログラムの組み方全般)を

記事を読む

理論と実践のバランス

ネタ不足&開発のほうが忙しく、一か月以上書いておりませんでした。 今回は漠然とスキルアップする

記事を読む

XAMPPとは何か

PHPを勉強する場合、まずXAMPPというソフトウェアを自分のパソコンにインストールします。

記事を読む

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

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

記事を読む

15時間でプログラミング言語の基本をマスターする方法

今回は主に経験者向けの記事となります。 タイトルの通りなのですが、私が新しい言語をマスターする

記事を読む

Message

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

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

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

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

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

2020年のご挨拶

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

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

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

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

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

→もっと見る

  • follow us in feedly
PAGE TOP ↑