将任何类或任何方法声明为“最终”的示例场景是什么?我们什么时候需要这样做?
请给我一些例子来理解“final”的实际使用...
请详细说明你的答案....
请指导我,因为我是 OOP 的初学者
最佳答案
这只是一个示例,用于详细说明为什么有时必须从任何进一步的扩展中锁定方法/类以避免意外。
class Account {
public function debit(Amount $amount) {
if(($this->canDebit($amount)) {
$this->balance -= $amount;
}
}
final public function credit(Amount $amount) {
...
}
}
class CheckingAccount extends Account {
public function debit(Amount $amount) {
// we forgot to check if user canDebit()
$this->balance -= $amount;
}
}
这只是一个示例,用于说明为什么有必要将方法和类设置为 final。事实上,将所有方法和类设置为 final 是一个很好的做法,除非您知道要扩展它们,并且子类可能希望(并且将被允许)扩展/覆盖基类。
关于php - 将任何类或任何方法声明为 "final"的示例场景是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2696339/