软件构造之OOP

本文深入探讨了面向对象编程(OOP)的概念,包括OOP的定义、与抽象数据类型(ADT)的关系、接口与类的区别、继承与重写的原理,以及多态的实现。强调了细节隐藏、接口使用、抽象类和泛型编程在OOP中的重要性,并阐述了OOP设计的原则,帮助开发者更好地理解和应用OOP。
摘要由CSDN通过智能技术生成

OOP

什么是OOP

  1. 面向对象编程:是一种以对象作为程序基本单元,将程序和数据封装在对象中,并通过对象之间的交互来实现程序的功能的编程范式。在面向对象编程中,对象是具有行为和状态的实体,可以通过定义类(Class)来创建对象,类是对象的蓝图,描述了对象的属性和行为。
  2. OOP与ADT:ADT是仅暴露接口的数据类型,在实现ADT时,可使用OOP的技术如继承、多态等,OOP中的类和对象也可以看作是一种ADT,他们将数据和相关操作封装在一起,定义了一种新的数据类型。通过将类实例化为对象,可以创造出具体的数据实例并对其进行操作,这也符合ADT的定义。
  3. 接口和类:在Java语言中接口可以确定ADT规约,类可以实现ADT,也可以不用接口直接使用类来作为ADT,但实际中更倾向于使用接口来定义变量
  • 使用default方法可以在不破坏实现该接口的所有实现类的前提下,统一向接口添加新的方法,无需在各个类中重复实现。

OOP的一些细节

  1. 细节隐藏:好的模块对其他模块隐藏内部数据和其他细节,只通过API干净地与其他模块通信
  • 通过接口实现信息隐藏
    • 使用接口类型声明变量
    • 客户端仅使用接口中定义的方法
    • 客户端代码无法直接访问属性
  1. 继承和重写:
  • 继承:在OOP中集成指可以使用已存在的类作为基础来定义自己的类,让自己的类获得已
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值