PHP 学習 part. 7
クラスとオブジェクト
クラスとオブジェクトの続きです。
self
self キーワードはクラス内では、自身のクラスを示すことになります。
<?php class Box { public static $name = "箱"; public function getName() { return self::$name; } } $box = new Box(); echo $box->getName(), PHP_EOL;
const
const キーワードをつけてクラス定数を定義します。クラス定数は、クラスの初期化時に用いられた李、オプションとして利用されます。
<?php class Drink { const SMALL = 100; const REGULAR = 150; const BIG = 250; } echo Drink::BIG, PHP_EOL;
static メソッド
静的なメソッドはインスタンスを生成せずに利用できます。
<?php class Math { public static function add($v1, $v2) { return $v1 + $v2; } } $x = Math::add(4, 7); echo $x, PHP_EOL;
コンストラクタ
コンストラクタはインスタンス生成時に必要なパラメータを設定するために利用されます。
<?php class Book { private $title; private $author; const COMPANY = "技術評論社"; // コンストラクタ public function __construct($title, $author) { $this->title = $title; $this->author = $author; } public function toString() { return $this->title . " " . $this->author; } } $book = new Book("パーフェクトPHP", "小川"); echo $book->toString(), PHP_EOL;
parent
クラスを継承した時に親クラスのコンストラクタを呼び出すために、parent キーワードを使います。
<?php class Animal { public $type; public function __construct($type) { $this->type = $type; } public function getType() { return $this->type; } } class Dog extends Animal { private $name; public function __construct($name, $type) { parent::__construct($type); $this->name = $name; } public function hello() { echo "ワン!", PHP_EOL; } } $dog = new Dog("犬", "哺乳類"); echo $dog->getType(), PHP_EOL; // 哺乳類 $dog->hello(); // ワン!
本
- 作者: 小川雄大,柄沢聡太郎,橋口誠
- 出版社/メーカー: 技術評論社
- 発売日: 2014/10/31
- メディア: Kindle版
- この商品を含むブログを見る