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

封装

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

封装的意义

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

抽象

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

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

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

抽象的意义

全部评论

相关推荐

迷茫的大四🐶:干脆大厂搞个收费培训得了,这样就人均大厂了
点赞 评论 收藏
分享
11-12 14:30
已编辑
广东科技学院 前端工程师
迷茫的小刺猬在迎接o...:前端岗位越来越少了,中小厂也更倾向全栈了,更不需要初级或者实习。可能就大厂才会有一些岗位,但是很看学历。
实习,投递多份简历没人回...
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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