面向对象的三大特性 基本问题

本文详细探讨了面向对象编程的四大核心特性:抽象、封装、继承与多态。阐述了这些特性之间的相互关系及各自的重要性,并明确了它们作为判断面向对象编程语言标准的必要条件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. abstraction.
2. encapsulation.
3. inheritance.
4. polymorphism.

抽象比其他三个更重要。另外还有几个面向对象设计的几个原则:

OCP.
VOD.
LSP.
DIP.
ISP.
LOD.
SRP.

 

封装、继承、多态

的确,封装是一切的基础
因此楼主封装包含了一切有一点道理的

但是,实现了封装,并不一定就立即自动支持继承

同样,实现了继承,并不一定就必然支持多态

完全可以设计一个语言出来,仅支持封装,或封装加继承

因此,这3大特性就是面向对象的基本特性

至于前面回复中有人提到的很多设计原则,都是部分或全部基于上述3大特性的综合应用
一个是基础特性,一个对于基础的运用

至于抽象,这是所有计算机语言的基础
因此,一个具有抽象概念的语言,不一定是一个面向对象的语言

综合:
具有抽象的概念,是计算机编码语言的必要条件之一

封装,是面向对象编码语言的必要条件之一
继承,是面向对象编码语言的必要条件之一
多态,是面向对象编码语言的必要条件之一

封装,继承,多态是判断是否是面向对象编码语言的充分条件
失去任何一个,理论上就不能被认为是面向对象的语言

多态依赖于但不等于继承,继承依赖于封装但不等于封装

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值