php - 将任何类或任何方法声明为 "final"的示例场景是什么?

标签 php oop class methods final

将任何类或任何方法声明为“最终”的示例场景是什么?我们什么时候需要这样做?

请给我一些例子来理解“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/

相关文章:

php内置网络服务器缓存问题

c# - 用 TDD 思考 OO——从哪里开始?

c++ - C++ 基类如何知道哪个类派生自它?

java - 在android应用程序的 Activity 之间共享类的单个实例?

asp.net - 为什么 Visual Studio 给我的 App_Code 类没有定义类型?

php - 在 Doctrine DBAL 中使用executeQuery 绑定(bind)变量类型时出现问题

php - 上一个/下一个按钮?

php - 使用签名算法版本 4 创建签名的 S3 下载链接

javascript - JavaScript 对象中的构造函数

java - 外部类可以调用其内部类的方法吗?