3类与对象——重拾Java

面向对象编程的3个特性

1 封装性

面向对象编程核心思想之一就是将数据和对数据的操作封装在一起。通过抽象,即从具体的实例中抽取共同的性质形成一般的概念,比如类的概念。

在实际生活中,我们每时每刻都在与具体的实物打交道,例如我们用的钢笔,骑的自行车,乘坐的公共汽车等。我们经常见到的卡车、公共汽车、轿车等都会涉及到以下几个重要的物理量:可承载人数、运行速度、发动机的功率,耗油量、自重和轮子数目等。另外,还有几个重要的功能:加速、减速、刹车和转弯等。可以把这些功能称作是它们具有的方法,而物理量是它们的状态描述,仅仅用物理量或功能不能很好地描述它们。在现实生活中,用这些共有的属性和功能给出一个概念——机动车类。也就是说,人们经常谈到的机动车类就是从具体的实例中抽取共同的属性和功能形成的一个概念,那么一个具体的轿车就是机动车的一个实例,即对象。一个对象将自己的数据和对这些数据的操作合理有效地封装在一起,例如每辆轿车调用“减速”改变的都是自己的运行速度。

2 继承

继承体现了一中先进的编程模式。子类可以继承父类的属性和功能,即继承了父类所具有的数据和数据上的操作,同时又可以增添子类独有的数据和数据上的操作。比如“人类”自然继承了“哺乳类”的属性和功能,同时又增添了人类独有的属性和功能。

3 多态

多态是面向对象编程的又一个重要特征。有两种意义的多态,一种是操作名称的多态,即有多个操作具有相同的名字,但是这些操作所接受的消息类型必须不同。例如,让一个人执行“求面积”操作时,他可能会问你求什么面积。所谓操作名称的多态性,是指可以向操作传递不同消息,一边让对象根据相应的消息来产生一定的行为。另一种多态是和继承有关的多态,是指同一个操作被不同类型对象调用时产生不同的行为。例如,狗和猫都具有哺乳类的功能——“喊叫”。但是,狗操作“喊叫”产生的声音是“汪汪....”,而猫操作“喊叫”产生的声音是“喵喵....”

 

posted on   BestNow  阅读(290)  评论(0编辑  收藏  举报

编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· 展开说说关于C#中ORM框架的用法!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示