9、使用面向对象编程创建干净的代码

使用面向对象编程创建干净的代码

1. 抽象类的作用

抽象类解决了两个关键问题。首先,由于无法实例化 Customer 类,所以 checkIfValid 方法只能接受 Customer 的子类对象。其次,声明抽象方法会强制所有继承该类的子类实现这些方法,确保所有对象都实现 getAmountToBorrow 方法,保证代码的安全性。

新的层次结构树会在 Customer 类中定义三个抽象方法,而其子类无需重复定义。虽然子类需要实现这些方法,但由于 Customer 类的强制要求,我们可以确保所有继承它的类都会实现这些方法。

需要注意的是,若在 init.php 文件中尝试实例化抽象类 Customer ,代码会报错。解决办法是实例化一个具体的(非抽象)类。

2. 接口的使用

2.1 接口的定义

接口是一种 OOP 元素,它将一组函数声明组合在一起,但不包含具体实现。接口与抽象类不同,接口不能包含任何实现代码,而抽象类可以混合定义抽象方法和具体实现的方法。接口的目的是声明一个类可以做什么,但不涉及具体如何实现。

以下是 Customer 接口的定义示例:

<?php
namespace Bookstore\Domain;
interface Cust
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值