面向对象思想 VS ADT

ADT(C的内容)

优点:2 点

1、实现了将接口的实现与使用分开,用户只要知道这个接口提供的功能以及如何调用即可,使得用户只需直接调用接口就可完成功能,而不必知道接口的具体实现。——实现了模块化和代码复用。

2、而具体实现的内部细节(非接口)的数据和函数则是在实现是被用static隐藏,使得用户也无法了解。——这属于黑盒设计,保护了开发者的设计。

缺点:2 点

无法保护数据结构,一些数据结构仍是对用户开放,使得用户也可以在不调用提供的接口函数的前提下自己对数据结构的内容进行未知的改动,这样可能就会使提供的接口函数调用出错,这个安全性就不强了。

无法实现数据结构和接口的绑定。造成对的数据结构使用错接口,或对的接口使用错的数据结构,需要用户记着数据结构对应着哪些接口,这样加大了调用者的任务量并且也不能保证接口调用的正确性


由此——产生了C++的面向对象思想——

类将数据结构与操作进行封装,即保证了操作使用的正确性,还能隐藏接口的实现,还有特色的一点是,它能够控制对外开发的程度(private、public、protect),还可以继承,还可以抽象。

类的三大特点:------看P167-173,很详细的解释以及自己的笔记!

封装性、

继承性、

多态性

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值