面向对象:
面向过程与面向对象都是我们编程中,编写程序的一种思维方式。(面试必问题)
面对过程:
面向过程的程序设计方式,是遇到一件事时,思考“我该怎么做”,然后一步步实现的过程。(执行者的思想)
面向对象:
面向对象的程序设计方式,是遇到一件事时,思考“我该让谁来做”,然后那个“谁”就是对象,
他要怎么做这件事是他自己的事,反正最后一群对象合力能把事就好就行了(是领导者的思想)
面向对象思维方式是一种更符合人们思考习惯的思想
面向过程思维方式中更多的体现的是执行者(自己做事情),面向对象中更多的体现是指挥者(指挥对象做事情)。
面向对象思维方式将复杂的问题简单化
1、先按照名词提炼问题领域中的对象
2、对对象进行描述,其实就是在明确对象中应该具备的属性和功能
3、通过new的方式就可以创建该事物的具体对象
4、通过该对象调用它以后的功能。
格式:
内存图:
思考的时候对象先存在然后在有的类。
但是实际操作中现有的类 才有的对象
定义:
类是对某一类事物的抽象描述,而对象用于表示现实中该类事物的个体
上图中玩具模型是类,下面的玩具是对象。
直接定义在类里面的是成员变量。
定义在方法里的是局部变量
区别一:定义的位置不同
定义在类中的变量是成员变量
定义在方法中或者{}语句里面的变量是局部变量
区别二:在内存中的位置不同
成员变量存储在堆内存的对象中
局部变量存储在栈内存的方法中
区别三:生命周期不同
成员变量随着对象的出现而出现在堆中,随着对象的消失而从堆中消失(gc垃圾回收机制)
局部变量随着方法的运行而出现在栈中,随着方法的弹栈而消失
区别四:初始化不同
成员变量因为在堆内存中,所有默认的初始化值
局部变量没有默认的初始化值,必须手动的给其赋值才可以使用。
引用传递的内存图:
面向对象共有三个特征:封装,继承,多态。接下来我们具体学习封装。
封装表现:
1、方法就是一个最基本封装体。
2、类其实也是一个封装体。
从以上两点得出结论,封装的好处:
1、提高了代码的复用性。
2、隐藏了实现细节,还要对外提供可以访问的方式。便于调用者的使用。这是核心之一,也可以理解为就是封装的概念。
3、提高了安全性
原文:https://www.cnblogs.com/www1842564021/p/12049538.html