面向对象四大特性(封装、抽象、继承和多态)

封装

也称作是信息隐藏或者数据访问保护。类通过暴露有限的访问接口,授权外部仅能通过类提供的方式(函数)访问内部的信息或者数据。
封装通常需要编程语言给予语法机制的支持,这种语法机制就是访问权限。

封装的意义

将数据进行隐藏,仅内部方法可以访问,外部不可访问,可以更好的维护和扩展。
预留部分访问接口,易用。

抽象

封装是信息隐藏,而抽象则是隐藏方法的具体实现。调用者仅仅关注于方法的主要功能,并不关心方法的具体实现。
面向对象编程中,通常会借助面向对象编程语言提供的接口类(Java的interface)或者抽象类(abstract),来实现抽象这一特性。但是抽象特性并不一定借助于接口类或者抽象类。比如:PictureStorage 的接口类为 IPictureStorage 类,并不一定要设计 IPictureStorage 接口类,PictureStorage本身的方法也是一种抽象,通过方法名称或者是文档了解方法的功能,不需要关注方法的实现。

为何有时面向对象仅有三大特性,不包含抽象这一特性?

抽象可以仅通过“函数”实现,并不需要面向对象编程语言语法机制的支持,它没有很强的特异性,因此有时会不包含在面向对象特性中。

抽象的意义

全部评论

相关推荐

ddd7_:跟我一模一样,加微信的hr都同一个,扫码了白年书人查看图片
点赞 评论 收藏
分享
11-17 23:00
南昌大学 Java
我要娶个什么名:10元一天 0元提成😂
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务