使用面向对象编程创建干净的代码
1. 抽象类的作用
抽象类解决了两个关键问题。首先,由于无法实例化 Customer 类,所以 checkIfValid 方法只能接受 Customer 的子类对象。其次,声明抽象方法会强制所有继承该类的子类实现这些方法,确保所有对象都实现 getAmountToBorrow 方法,保证代码的安全性。
新的层次结构树会在 Customer 类中定义三个抽象方法,而其子类无需重复定义。虽然子类需要实现这些方法,但由于 Customer 类的强制要求,我们可以确保所有继承它的类都会实现这些方法。
需要注意的是,若在 init.php 文件中尝试实例化抽象类 Customer ,代码会报错。解决办法是实例化一个具体的(非抽象)类。
2. 接口的使用
2.1 接口的定义
接口是一种 OOP 元素,它将一组函数声明组合在一起,但不包含具体实现。接口与抽象类不同,接口不能包含任何实现代码,而抽象类可以混合定义抽象方法和具体实现的方法。接口的目的是声明一个类可以做什么,但不涉及具体如何实现。
以下是 Customer 接口的定义示例:
<?php
namespace Bookstore\Domain;
interface Cust
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



