タグ: オブジェクト指向

PHP

PHPの継承 Interface 抽象クラスabstract 多重継承Trait

  interface 使いどころ 継承先が不特定な場合 特徴 多重継承ができる。 interfaceで用意した関数は実装先で定義しなければならない。   abstractクラス 使いどころ 特定の派生先で一部の実装が異なる場合   特徴 abstractの修飾子をつけたものは、継承先で定義しなくてはいけない。   <?php abstract cla …

PHP

クラス array() 静的メソッドの特殊な呼び出し方 PHP

  array()を使って、クラスと静的メソッドを指定したインスタンスが作れます。 WordPressのプラグインのフックにメソッドを追加するときによく使いますね。   <?php class Komainu { public static function nakigoe($name) { echo $name.”ってすごいズラ”; } } $youkaiObj = a …

PHP

Factory Method パターン PHP

    使いどころ 一度生成したインスタンスに対して変更をさせない 外部からインスタンスを生成させない。Robot::creteRedRobot(), Robot::createBlueRobot()からのみ生成が可能     <?php class Robot { private $name = ”; private $color; public …

SEノウハウ

ざっくりオブジェクト指向

  オブジェクト指向で実装するメリット 拡張性 ・それぞれクラスとして独立性、拡張性を高める。 ・変更に強くなる。 開発効率 ・一連の処理をまとめて部品化し、再利用を行うことで開発効率をあげる     3大要素 独立性 Aクラス、Bクラス、Cクラスとそれぞれ独立させて、Aの変更がB, Cクラスに影響しないようにする ※密に結合しているとAクラスの変更を行うと、Bクラス、Cクラス …

PHP

PHP Iteratorパターン [PHPによるデザインパターン入門]

絶版されているけれど、Google booksで公開されているのが見れます。 https://books.google.co.jp/books?id=sXNh4TeQeBIC&printsec=frontcover&hl=ja#v=onepage&q&f=false 1日1パターンってことで演習してアウトプットしていきます。   iterate = 反復す …

PHP

PHP グローバル変数とスコープ

  ローカルスコープ 変数には範囲(スコープ)があり、変数は関数内の範囲で有効   グローバルスコープ グローバルスコープは関数内を超えて、1スクリプト内で有効になる クラス内のstatic変数もグローバル変数と同等 シングルトンもある意味グローバル変数と同等   使いどころ 関数内を超えて変数を扱いたい場合 変数のスコープは可能な限り最小の範囲にするのが望ましい & …

PHP

PHP カプセル化

メンバ変数をprivateにすることで、生成したインスタンスのプロパティに直接アクセスさせない。 下記みたいにプロパティにアクセスして表示させたりしていると、この変数に対して何か加工をしようとした時に、表示させているすべての箇所をテストしたり、修正する必要が出てくるかもしれない! $obj = new Product($data); echo $obj->name; // プロパティにアクセ …

PHP

PHP Factory Methodパターン [PHPによるデザインパターン入門]

絶版されているけれど、Google booksで公開されているのが見れます。 https://books.google.co.jp/books?id=sXNh4TeQeBIC&printsec=frontcover&hl=ja#v=onepage&q&f=false 1日1パターンってことで演習してアウトプットしていきます。   使いどころ オブジェクト生 …

PHP

PHP Adapterパターン [PHPによるデザインパターン入門]

絶版されているけれど、Google booksで公開されているのが見れます。 https://books.google.co.jp/books?id=sXNh4TeQeBIC&printsec=frontcover&hl=ja#v=onepage&q&f=false 1日1パターンってことで演習してアウトプットしていきます。   使いどころ 十分に実績のあ …

PHP

PHP Singletonパターン [PHPによるデザインパターン入門]

絶版されているけれど、Google booksで公開されているのが見れます。 https://books.google.co.jp/books?id=sXNh4TeQeBIC&printsec=frontcover&hl=ja#v=onepage&q&f=false 1日1パターンってことで演習してアウトプットしていきます。   使いどころ どうしてもイン …

SEノウハウ

UML クラス図

  UMLの目的 複雑なクラスやオブジェクトの関係を図で示すことで開発者や関係者で共有する為 UMLはメンバ変数やメソッドといったすべてを記述する必要はない。 注目させたい箇所を目出せたい場合は、あえて必要情報しか記述しないケースもある     クラス図 クラス名 メンバ変数名 メソッド名 3つの項目で構成される   継承とインターフェイスの実装 関係   …

PHP

PHP メソッドチェーン シングルトン

PHP メソッドチェーン シングルトン   会社のサイトに詳しく書いてあります。 <?php class Animal { protected $name; protected $koe; public function setName($name) { $this->name = $name; } public function getName(){ return $this-&gt …