「PHPで関数とメソッドの違いを理解する」の編集履歴(バックアップ)一覧はこちら

PHPで関数とメソッドの違いを理解する」(2015/07/23 (木) 22:53:43) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

プログラムを始めると○○関数という表記もあれば○○メソッドという表記をよく見かけます。 一見同じように見えるのですが、違います。今日はそんな記事を執筆していきたいと思います。2015年7月23日記事 ~ ~ 目次 #contents ~ ~ *用語の定義 **関数 関数とは、引数と呼ばれるデータを受け取り、定められた通りの処理を実行して結果を返す一連の命令群。 多くのプログラミング言語では、関数がプログラムを構成する要素となっている。多くの言語や処理系では、開発者の負担を軽減するため、よく使う機能が関数としてあらかじめ用意されている。 http://e-words.jp/w/%E9%96%A2%E6%95%B0.html ~ ~ **メソッド オブジェクト指向プログラミングにおいて、各オブジェクトが持っている自身に対する操作。 メソッドとは、オブジェクト指向プログラミングにおいて、各オブジェクトが持っている自身に対する操作。 http://e-words.jp/w/%E3%83%A1%E3%82%BD%E3%83%83%E3%83%89.html ~ ~ といってもあまりよくわかりませんね。少し具体化して説明します。 ~ ~ *ぞれぞれの具体例 **関数のイメージ(車を動かします関数というものがあったとする) 車を動かします 一度操作をすると、1m前にしか動けません! ~ ~ プログラムで言えば、nl2br関数はnl2br($text)と書かれた場合に$text内にある文字列の中で「改行文字の前に HTML の改行タグを挿入する」という一つの行動しかできません。 また関数は&color(red){用意されています。} ~ ~ **メソッドのイメージ(車を動かしますメソッドというものがあったとする) 車を動かします! ~ ~ 命令をすれば(プログラムにどう動かせばよいのかを書けば)、とまったり、動いたり、右に曲がったり、左に曲がったりできます! phpプログラムで言えば、pdoの利用において$pdo->bindParam(~,~,~)は~~~が命令部分でどう動くのかを指示できるということです。 ~はプログラマの意図したものを入れ、操作することができます。bindParamメソッドと呼ばれていたりします。 また、メソッドを使うためには、&color(red){クラスと呼ばれるものを作らなければならず、関数を組み合わせて作られます。} bindParamに関してもPDOクラスを読み込んで使われています。 ~ ~ *オブジェクト指向プログラミング オブジェクト指向プログラミングとは、コンピュータプログラムの構造、構成法の一つで、関連するデータの集合体と、それを操作する手続きを「オブジェクト」(object)と呼ばれるひとまとまりの単位として一体化し、オブジェクトの組み合わせとしてプログラムを記述する手法。 http://e-words.jp/w/%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E6%8C%87%E5%90%91%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0.html ~ ~ 要は車を動かすプログラムを書くなら、関数をたくさん使って(右の命令、左の命令!)というようにチマチマかくより、 &color(red){関数を色々と使って車を動かすプログラムを作って、さらに指定によって、動かし方に応用がきくんだぜ!的なプログラムを作ったほう}がプログラムの再利用性や生産性を高めることができるのです。 ~ ~ *まとめ これでもたぶん理解できないと思います。私も最初は戸惑いました。「関数 メソッド 違い」で検索してみてください。 色々とクロスチェックすることで、理解が増すと思います。 ~ ~ 以上

表示オプション

横に並べて表示:
変化行の前後のみ表示: