- 了解 PHP 靜態屬性的用法
- 了解 PHP 匿名類別概念與應用方法
靜態屬性概念與使用方法
- 靜態屬性(static)
- 作用:
- 用於不會改變的類別屬性與方法
- 不需要實例化產生物件,直接呼叫類別即可使用
- 例:MathRate.php (計算複利用的方法)
<?php class MathRate{ public static function ComplexRate($principal,$yearRate,$period,$years){ $result = 0; $result = $principal * pow((1 + ((float)$yearRate/$period)),($period*$years)); return $result; } } ?>
- 利用一個 demo4.php 來實現上述程式:
<?php include "MathRate.php"; echo MathRate::ComplexRate(1000,0.18,12,3); ?>
- 作用:
- 匿名類別(Anonymous class)
- 作用
- 有些類別用完即丟,沒有需要一直存在,即可使用匿名類別,減輕程式的複雜程度!
- 範例 : Application.php
<?php interface Logger { public function log(string $msg); } class Application { private $logger; public function getLogger(): Logger { return $this->logger; } public function setLogger(Logger $logger) { $this->logger = $logger; } } $app = new Application; // 使用 new class 建立匿名類別 $app->setLogger(new class implements Logger { public function log(string $msg) { print($msg); } }); $app->getLogger()->log("這是一個匿名類別的例子"); ?>
- 作用
本章練習:
- 寫個疫苗的匿名類別,讓你的 dog 以及 cat 接種疫苗!
- 寫個計算寵物一年花費的費用計算靜態程式,算一下你的寵物一年的花費!