时间:2022-10-09 17:54:36 | 浏览:1491
今天浅聊一下面向对象思想,我认为理解面向对象思想对新手来说是很重要的,面向对象思想是c++编程的灵魂。
那么什么是面向对象呢?首先要理解对象是什么。在我们的日常生活中,一个苹果,一支笔,一辆车都可以称为一个对象。再具体一点,小明的车就是一个实际存在的对象。假设小明正在开他的车,我想知道现在车速是多少,小明只需要看一下车速表就可以告诉我车速是多少了。这里的车速就是车的一种状态或者一种属性,而车速表就是车对外的一个接口,该接口可以返回车速的值。
小明的车是一个整体,一个系统,也就是一个对象。该对象由属性和方法组成,属性一般表示对象的某些性质或状态,方法用来进行逻辑处理以及向外提供接口。
那么怎么用c++表示一个对象呢,我想大家都应该知道了,一个对象就是一个类。比如小明的车可以定义如下:
图1 小明的车的类定义
如图1所示,_speed, _weight, _wheelNumber都是车的属性,而 Speed(), Weight()和WheelNumber()都是车的方法也是对外的接口。由此,在c++中也可以说一个对象是由它的属性和方法组成的。
我们在使用该对象的时候,就是我前面提到的对象实例化。我们获取车速是通过车的接口获得的,通过车本身的接口获取车的速度,车的速度是在车这个对象中保存的。这里也体现了c++的一条重要性质,那就是封装,我们将对象的状态封装到对像内部,通过开放的接口来获取对象状态。面向对象编程可以使一个对象保存自己的状态而无需使用额外的存储空间,在仿函数中你更能看到其优越性,这是后话。
面向对象也就是以对象的思维去思考和编程,也许理解起来很简单,但用起来总是很难,这就要求你在实践不断地去总结锤炼,不断地增强面向对象思维。
今天就聊到这里,希望大家多多批评指正,共同进步,顺便点一下关注,谢谢大家。
沿发展之路,看开放果实,《思想耀江山·开放篇》见证更高水平开放的中国,从小切入看大视野,东方卫视《思想耀江山·开放篇》展现中国开放进程。在党的二十大即将隆重召开之际,10月6日21:30,“恢宏新时代 逐梦向未来”国家广电总局2022年重点
汇编语言,在我看来,汇编绝对是最难学习的一门语言。汇编语言为什么难,得从它的特点说起,汇编是一门直接操纵处理器的低级语言,这里说它低级,是相对于高级语言(如C++/Python/Kotlin)之类编程语言而言。学习汇编可以让人更加清楚的了解
第1章初识C++为什么选择C++?从读者自身的实际情况来看,原因有很多。读者选择C++可能是因为必须为一个C++项目提供技术支持。在超过30年的生命周期中,该项目中已经包含了数百万行C++代码,并且大部分流行的应用程序和操作系统是使用C+编
写在前面的话在大多数开发或者准开发人员的认识中,C/C++ 是一门非常难的编程语言,很多人知道它的强大,但因为认为“难”造成的恐惧让很多人放弃。笔者从学生时代开始接触 C/C++,工作以后先后担任过 C++客户端和服务器的开发经理并带队开发
作者 | Herb Sutter译者 | 弯月,责编 | 屠敏出品 | CSDN(ID:CSDNnews)C++20已全票通过,有望于今年晚些时候发布9月4日,C++ 20的国际标准草案投票结束,而且获得了全票通过。这意味着C++ 20已完
原文链接:https://baijiahao.baidu.com/s?id=1693215018575246509这是一个复杂的问题,结合在一起:事实,过时的事实,夸大的说法和根深蒂固的未经证实的信念。事实:-学习C比C ++容易得多:一个
作者 | David Millington编译 | 张洁 责编 | 屠敏出品 | CSDN(ID:CSDNnews)25 年前,C++ 世界发生了一件令人高兴的事情,那就是 C++Builder 的到来,C++Builder 是一个用在 W
出品|开源中国文|局长科技外媒 ITWire 报道了对 Linus Torvalds 的采访。关于 Linux 内核对 Rust 的支持情况,Linus 回应称“Linux 内核尚未支持 Rust”,并补充说“目前相关工作正处于开发阶段,预
C++是一门系统级语言,有些程序员小伙伴学了很久才明白明白栈与堆、内存管理等的含义。新手程序员学习C++很容易陷入误区,就是不停地啃书本,结果把自己搞的晕头转向的。一个类的成员函数包含了重载、覆盖、虚函数、纯虚函数等,不得不说复杂。那么,如
C++ 标准库可以分为两部分:标准函数库: 这个库是由通用的、独立的、不属于任何类的函数组成的。函数库继承自 C 语言。面向对象类库: 这个库是类及其相关函数的集合。C++ 标准库包含了所有的 C 标准库,为了支持类型安全,做了一定的添加和