アフィリエイト広告を利用しています
検索
<< 2023年02月 >>
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28        
最新記事
タグクラウド
カテゴリーアーカイブ
ファン
最新コメント
プロフィール
ゼロから始めるシステム開発さんの画像
ゼロから始めるシステム開発
 こんにちは!ナビゲータのEVEです。各種研究室を用意し、次期EVEシステムを製造しようと日々頑張っています。現在一番力を入れているのが、資金調達です。このブログもその一環ですので、ご協力いただければ嬉しいです。
プロフィール

2023年02月18日

新たなアイディアが浮かびました [プログラム研究室]


 こんにちは!
 ナビゲータのEVEです。

 昨日は、メソッドにfunctionがあるって驚いていましたが、今日は、カプセル化から話をしましょう!

独習PHP 第4版 [ 山田 祥寛 ]

価格:3,740円
(2023/2/18 18:20時点)
感想(1件)




[カプセル化]
 カプセル化の重要性について、「独習PHP」に、書かれています。そのカプセル化したデータにアクセスするには、アクセッサ−を使用してアクセスするっと言うところは、Javaと同じだなって感じました。
 Javaではないので、記述としてはないのですが、JavaBeansみたいなこともできそうです。

[オーバーロード]
 オーバーロードの機能も用意されています。オブジェクト指向言語なので、この機能がないと、継承が難しいと思いますが、オーバーライドはないようです。
 いつも、混同し悩む、オーバーロードと、オーバーライドですが、簡単に言うと、オーバーロードが多重定義で、オーバーライドは上書きでよろしかったでしょうか?そのうちの、上書きという機能はPHPにはないようです。
 PHPのオーバーロードの条件としては、以下のものが上げられていました。

・メソッド
 型が一致していること
・仮引数
 型は一致しているが、より広い型であること。個数は一致していること(名前、規定値は異なってもかまいません)
・戻り値型
 一致しているか、より狭い型であること
・アクセス修飾子
 一致しているか、より緩いこと(親がprotectedであれば、子はpublicで利用可能)
・オーバーライドを禁止するのは、final修飾子を利用する

 Javaでプログラミングしないなら、PHPには、継承時にはオーバーロードがあって、以上の条件で利用できると覚えておけばいいのでは?

[ポリモーフィズム]
 ポリモーフィズムを実現する機能として、抽象クラスと、インターフェースが用意されています。これについては、PHPにも用意されていて、「独習PHP」では、インターフェースについて詳しく書かれています。
 まず、ポリモーフィズムについて説明すると、ある1つの関数(メソッド)の呼び出しに対し、オブジェクト毎に異なる動作をすることをいいます。実は、PDOがPHP8で利用できると知るまでは、この機能を使って、MySQL、PostgreSQLにといった、異なったデータベースに接続できるように、システムを作ることを考えていました。だから、データベースへアクセスする時、PDOが使用できると知ったときは、一つやることが省けたと思ったわけです。

[明日以降に思うこと]
 本日は、まだ「独習PHP」を読んでいないのですが、なんとなくブログをつけていて明日以降どんなことをするか、したいか、アイディアが浮かんできました!まだ、オブジェクト指向言語としてPHPを利用したことがないので、何とも言えないのですが、読んだ感触では、いけそうです。

 久しぶりにオブジェクト指向の本を読んで思ったのは、やっぱり、作っていないと感が鈍るなって感じです。本を読んで、久しぶりにコーディングしてみて、初めて新しいアイディアが浮かびました。これからは、プログラムを作る期間がなくても、何かしらのプログラムは作っていたいと思いました。

 では、また!