7.3 面向对象

Posted lnh2019

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了7.3 面向对象相关的知识,希望对你有一定的参考价值。

1、面向对象举例

买电脑(组装机)

先使用面向过程说明买电脑这件事:假如我们需要买组装电脑,这时首先会在网上查询具体每一个硬件的参数和报价。然后会去电脑城进行多家询价,接着询价结束后回家根据具体的结果分析出自己比较满意的哪家报价,接着会到这家店里进行组装,组装时还需要进行现场监督,组装完成安装相应的系统,然后电脑抱回家。

分析上述整个过程大体分一下几步:上网查询参数和报价、电脑城询价、现场安装和监督、抱电脑回家。在整个过程中我们参与了每一个细节,并且会感觉相当累。

使用面向对象说明买电脑这件事:假如我们需要买组装机,这时应该找一个懂电脑硬件的人,让他帮我们查看参数和报价,并进行询价和杀价,以及现场组装监督。而我们自己并不需要亲历亲为具体怎么做,只要告诉这个人我们想要的具体需求即可。

分析上述整个过程,发现瞬间变的十分轻松,只要找到懂电脑硬件的这个人,我们的问题都可以解决。并且在这个过程中我们不用那么辛苦。

 

 

2、面向对象思维方式的好处

 

通过生活中的真实场景使用面向对象分析完之后,我们开始分析面向过程和面向对象的差异做出总结:

 

面向对象思维方式是一种更符合人们思考习惯的思想

 

面向过程思维方式中更多的体现的是执行者(自己做事情),面向对象中更多的体现是指挥者(指挥对象做事情)。

 

面向对象思维方式将复杂的问题简单化。

 

3、类和对象的区别

 

 

类是对某一类事物的抽象描述,而对象用于表示现实中该类事物的个体

 

4、 局部变量和成员变量区别

 

 

区别一:定义的位置不同

 

定义在类中的变量是成员变量

 

定义在方法中或者{}语句里面的变量是局部变量

 

区别二:在内存中的位置不同

 

成员变量存储在内存的对象中

 

局部变量存储在栈内存的方法中

 

区别三:生命周期不同

 

成员变量随着对象的出现而出现在堆中,随着对象的消失而从堆中消失gc垃圾回收机制

 

局部变量随着方法的运行而出现在栈中,随着方法的弹栈而消失

 

区别四:初始化不同

 

成员变量因为在堆内存中,所有默认的初始化值

 

局部变量没有默认的初始化值,必须手动的给其赋值才可以使用。

 

5、封装概述

 

 

隐藏了实现细节,还要对外提供可以访问的方式

 

6、this关键字

 

 

可以在成员变量名前面加上this.来区别成员变量和局部变量

 

 

 

 

 

 

 

 

 

 

 

以上是关于7.3 面向对象的主要内容,如果未能解决你的问题,请参考以下文章

Scala 学习 面向对象

C++基础二类和对象(上篇)(10000字掌握C++类核心内容)

C++基础二类和对象(上篇)(10000字掌握C++类核心内容)

C++基础二类和对象(上篇)(10000字掌握C++类核心内容)

用例建模

C++02_类与对象(上)