抽象类和封装

本文探讨了抽象和封装在软件开发中的重要性。抽象关注于从需求中提炼实体的属性和行为,形成类图,而不涉及具体实现。封装则是通过隐藏细节,如在Java中使用访问修饰符来控制成员的访问权限,确保业务规则得以实施。正确的封装不仅避免暴露内部状态,还应在setter中添加业务逻辑限制。抽象是概念层面的构建,而封装是实现层面的保护,两者共同构建了软件的稳定性和可维护性。
摘要由CSDN通过智能技术生成

抽象,实际上是一个分析的过程,是根据需求的表述归纳实体的类型、属性和行为,其产出物是类图。类图勾勒了实体应该具备哪些属性和行为,但未涉及细节。

而封装,实则就是将抽象得到的模型转变为具体实现。它的要点是,尽可能对外隐藏细节,Java 中的手段就是使用 private,是否简单粗暴地为所有属性提供 getter 和 setter 呢?不建议这样做,因为这样做和将属性定义为 public 没有区别。

封装的关键是,根据业务进行分析

有的属性不能修改则不提供 setter,有的属性的修改有限制规则,则需要在 setter 中进行限定,有的属性不希望外界获取则不提供 getter(或声明为私有的),有些方法或者函数仅仅是内部使用的,也可以声明为 private,这些都是具体问题具体分析的。

抽象,是归纳提炼;封装则是在实现中依据业务需求尽量隐藏细节。

抽象类

一个类包含了抽象方法,那它一定是抽象类;一个类是抽象类,它可以包含抽象方法,也可以不包含,也可以包含具体的方法。

抽象类不能实例化,但是可以包含构造方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值