18、面向对象设计原则深度解析

面向对象设计原则深度解析

1. 单一职责原则在手机设计中的应用

在设计手机功能时,我们可以通过提问“手机自身能做什么”而非“手机提供了哪些服务”,来分离设计中对象的职责。比如,手机自身可以获取自己的电话号码、进行初始化以及连接到手机网络。而手机提供的服务,如打电话、发短信和处理图片等,实际上与实际的手机是相互独立的,因此可以将其分离到 PhoneCall TextMsg Picture 类中。这样,我们将最初的一个类划分为四个独立的类,每个类都只有单一的职责。我们还可以添加一个控制器类来运行整个手机系统,这样也便于添加新功能。这种设计方式虽然增加了类的数量,但简化了设计,使其更易于扩展和修改。

2. 里氏替换原则(LSP)

2.1 里氏替换原则的定义

里氏替换原则(LSP)由麻省理工学院的图灵奖获得者芭芭拉·利斯科夫博士提出,该原则指出所有子类必须能够替换它们的基类。这意味着继承应该设计良好且行为规范,用户应该能够将对象实例化为子类,并透明地使用基类的所有功能。

2.2 违反里氏替换原则的示例

以矩形和正方形为例,我们先定义一个表示矩形的 Rectangle 类:

/**
 * class Rectangle
 */
public class Rectangle
{
    private double width;
    private double height;
    /**
     * Con
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值