
C++里的面向对象是什么意思?
2019-03-12 17:01:43
微信公开课小程序热门讨论「C++里的面向对象是什么意思?」最新回复-对象就像是我们生活中的每个实体(如人、钢笔等等)对象的抽象叫做类,打个比方说,人是一个类,你我是这个类的实体对象。对象有数据,就像我们的身高、体重,就是类里的各种变量。对象有动作,比如我们可以吃饭、行走,就是类里的成员函数。对象的数据多是private(私有)的,通过成员函数(多为public)来访问他。这就是类对数据的封装性。人还分为男人和女人,然后再根据年龄分为老人、小孩等。但他们都具有“人”的特性、这就叫做继承。对同一件事情,不同的人有不同的反映,这就叫做多态。比如一个学校要开学了,不同的部门会做不同的事。多态还体现在重用性上,比如函数、运算符的重载,实现“一物多用”。面向对象的作用很大,在以后的实践中会慢慢感受到。因为他来自我们的现实生活中,所以比较自然、顺手。像C语言如果用来开发大型软件的话就会很手足无措,因为各种函数能够把你烦死。面向对象的好处使用面向对象思想进行开发有以下优点:1、易维护采用面向对象思想设计的结构,可读性高,由于继承的存在,即使改变需求,那么维护也只是在局部模块,所以维护起来是非常方便和较低成本的。2、质量高在设计时,可重用现有的,在以前的项目的领域中已被测试过的类使系统满足业务需求并具有较高的质量。3、效率高在软件开发时,根据设计的需要对现实世界的事物进行抽象,产生类。使用这样的方法解决问题,接近于日常生活和自然的思考方式,势必提高软件开发的效率和质量。4、易扩展由于继承、封装、多态的特性,自然设计出高内聚、低耦合的系统结构,使得系统更灵活、更容易扩展,而且成本较低。面向对象设计的原则SRP单一职责原则就一个类而言,应该仅有一个引起它变化的原因。OCP开放————封闭原则软件实体(类、模块、函数等)应该是可以开展的,但是不可修改。LSPLiskov替换原则子类型必须能够替换掉它们的父类型。DIP依赖倒置原则抽象不应该依赖于细节。细节应该依赖于抽象。ISP接口隔离原则不应该强迫客户依赖于它们不用的方法。接口属于客户,不属于它所在的类层次结构。REP重用发布等价原则重用的粒度就是发布的粒度CCP共同封闭原则包中的所有类对于同一类性质的变化应该是共同封闭的。一个变化若对一个包产生影响,则将对该包中的所有类产生影响,而对于其他的包不造成任何影响。CRP共同重用原则一个包中的所有类应该是共同重用的。如果重用了包中的一个类,那么就要重用包中的所有类。ADP无环依赖原则在包的依赖关系图中不允许存在环。SDP稳定依赖原则朝着稳定的方向进行依赖SAP稳定抽象原则包的抽象程度应该和其稳定程度一致。某些问题和解决方法,必须使用面向对象技术。使用面对对象技术可以大大简化开发。另一些则不用。比如:开发操作系统内核就可以不用面对对象,所以,无论Windows,Linux,Uinx,MAC大部分都是使用C开发的,而不用C++.但是开发一个客户交互并能够组件化易扩充的软件(比如一个CAD软件),就必须使用面对对象。所以这方面的软件都是采用C++开发。再举个例子,Windows系统的API函数有几千个,发出的消息也有几千个.如果使用过程语言比如C开发,难度和代码量都很惊人,比如要在一个大函数里循环处理消息。如果用面向对象的方法,就可以封装这些函数和消息。大大减少代码量和开发难度。再有,基本上各种快速构建系统的RAD工具,VB,Delphi,都是采用面向对象的方法实现的。(注:VB不算面向对象,只能算基于对象,因为他没有继承)使用这些工具,你就在应用面向对象。但是,在编写小程序时,面向对象就显得太烦碎了;如:classa{public:inta=20;intb=10;}aa1,a2;intc=a1.aa2.b;。。。所以要“量体裁衣”,选择适合的方式。另外面向对象(oop)是一种方法,思想,而不是技术。
推荐两本书给你《C++Primer》《C++programmingidea》 更多有关「C++里的面向对象是什么意思?」的疑问请扫码关注微信公开课+小程序!
推荐两本书给你《C++Primer》《C++programmingidea》 更多有关「C++里的面向对象是什么意思?」的疑问请扫码关注微信公开课+小程序!
标签:微信公开课,小程序

「C++里的面向对象是什么意思?」热议话题订阅
方法1:微信扫描微信公开课小程序码即可订阅热议话题「C++里的面向对象是什么意思?」
方法2:微信搜索微信公开课小程序名称进入,即可订阅热议话题「C++里的面向对象是什么意思?」
方法3:微信网页访问即速商店,长按识别微信公开课小程序码即可订阅热议话题「C++里的面向对象是什么意思?」
微信公开课小程序热议话题「C++里的面向对象是什么意思?」由微信公开课原创摘录于微信小程序商店shop.jisuapp.cn,转载请注明出处。
微信公开课热议话题「C++里的面向对象是什么意思?」由微信公开课开发者向微信用户提供,并对本服务内容、数据资料及其运营行为等真实性、合法性及有效性承担全部责任。
微信公开课小程序
更新时间:2019-03-12 17:01:43
>
__methodCallerx27;ofundefined
>-404011cloudfunctionexecutionerror
>,请补充选择商家自营-预付卡销售-发行方类目,并在基础信息处申请该类目,通过
>:host在模拟器中显示无效
>:请在小程序服务页面上架正式(非测试)内容或商品后重新提交审核
>.net 微信小程序 上传图片
>'setTimeout'的问题
>‘三朵里熙SPA主题减压空间’为什么搜索关键词‘三朵里‘搜不到
>‘扫普通链接二维码打开小程序‘中设置为体验版,扫码打开是线上版本
>“cloudfunctions**indexjs”gitignore
>“NO ULINK DEVICE FOUND”是怎么回事
>“万马掌上校园”的类目审核
>“上线了”公司开发的微信小程序怎么样?
>“产品是否一定需要条形码”
>