今回は前回までと同様に肥満度チェックアプリを題材に「継承」について書いてみます。また、「継承」と合わせて複雑なWEBアプリケーション構築において必須となるMVCモデリングソースにもなるように心掛けました。 さて、「継承とは...」といったどこにでも書いてあることや構文はお手持ちの書籍に譲るとして、大事だと思うことだけ。 ・基本的にスーパークラス(親クラス)よりサブクラス(子クラス)の方が多機能なクラスです![※1] ・PHPでは多重継承ができない。すなわち、一度に一つのクラスの拡張しかできない。[※2] ・クラスの機能を拡張したいだけなら、必ずしも継承を使わなくて良いことも多い。[※3] ・PHP4では抽象クラスを定義し、それを継承することはできません。[※4] [※1] 「スーパーとサブ」or「親と子」という言葉のイメージが、はじめて学ぶときには障害となっている気がします。 [※2] “
アクセサメソッドについてのサンプルソース。(言葉で説明すると冗長なためサンプルソースということで) フォーム(form.html)で身長と体重を入力してもらい、check.phpで肥満度を表示するサンプル。 form.html <html> <head><title>肥満度チェック</title></head> <body> <p>身長と体重を入力してください。</p> <form action="check.php" method="post"><!-- check.phpに値を受け渡す --> 身長:<input type="text" name="height"> [m]<br> 体重:<input type="text" name="weight"> [kg]<br> <input type="submit" value="肥満度をチェック"> </form> </body> </
PHPなオブジェクト指向 vol.0に引き続き、今回はコーディング上の素朴な疑問。なお、PHP5ユーザはオブジェクト指向派が大多数で入門レベルのことは意味がないと思われるので、プロシージャ指向の方も多いと思われるPHP4ユーザを対象としています。 ・var とか this って何だ? シンプルな構文が嬉しいPHPですが、クラスになると見慣れない var $hennsu;とか $this->hennsu といった見慣れない構文が出てきます。 肥満度を求めるプログラムを例にとってこれらをみていきたいと思います。(肥満度については肥満度の計算を参照)。 // CheckBMIクラス class CheckBMI{ var $tall; var $weight; function CheckBMI($tall, $weight){ //コンストラクタ //引数を上で宣言したメンバ変数(プロパティ)
PHPプログラマーの最初の壁は間違いなく、オブジェクト指向プログラミングだと思います。本格的オブジェクト指向に対応し、本来なら一気に移行が進むはずだったであろうPHP5がいまだに普及率50%に満たないのも、PHPプログラマーにオブジェクト指向(クラスの利用)を好む方が少ないからではないでしょうか。 開発中のPHP6ではプロシージャ指向も今まで通りサポートするものの、オブジェクト指向をベースにするようなので、少しでもオブジェクト指向への抵抗がなくなればと思い、未熟者ながら「オブジェクト指向の入門」を書いてみたいと思います。 「クラスはオブジェクトの設計図で…(省略)」、「親クラスが哺乳類で…(省略)」といった説明は読んだけどよくわからなかった、知識にはなったが実用上は結局関数ばっかりという方を対象にしています。 また、オブジェクト指向と言っていますが、その概念とか小難しいことではなく、とりあ
http://anond.hatelabo.jp/20090613035026 私の高校の先生には面白い先生が多かった。なかでもトップクラスに面白かったのが化学の先生だったK先生だ。 彼は「自分が最近面白いと思ったこと」をよく余談として授業中に話してくれたのだが、その余談がたまらなく面白かった。 ある日の授業のことだ。それがどんなきっかけだったのかは覚えていない。 ・アフリカの方ではいまだに初潮も迎えていない子供が結婚させられたりする。 ・だが、初潮を迎えていないはずの10歳くらいの子供が、結婚してセックスをすると初潮が始まり妊娠したりすることがよくある。 ・その理由というのが女性は強制的にセックスをさせられたり、恐怖を覚えたりすると防御反応として好きでもないのに濡れたり、感じたり、さらに排卵したりすることによるそうだ。 ・だから男性のみなさんは、女性が喜んでいるような反応があればOKだな
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く