面向对象
-
如何理解面向对象
面向对象编程思想是只追求结果的一种编程思想。
我们不需要了解编程过程中每个功能是如何实现的,只需要将各个功能封装起来,封装时根据不同的功能,将功能类似的封装起来。
是一种不追求过程 只追求结果的编程思想。
举个列子:我们要做一盘番茄炒蛋
面向过程思想是我们要知道如何切菜 如何炒菜
面向对象思想至于要将番茄 和鸡蛋调用出来,直接就会出来菜。
面向对象思想特点
a:是一种更符合我们思想习惯的思想 懒人思想
b:可以将复杂的事情简单化
c:将我们从执行者变成了指挥者
角色发生了转换面向对象三大特征
1.封装
类与对象的概述
A.把事物用一个类来体现
事物=类
事物的属性==成员变量
事物的功能==成员方法
B.定义类就是定义类的成员(成员变量和成员方法)
a:成员变量 和以前定义变量是一样的,只不过位置发生了改变。在类中,方法外。
b:成员方法 和以前定义方法是一样的,只不过把static去掉,后面在详细讲解static的作用。C.类和对象的概念
a.类:是一组相关的属性和行为的集合
b.对象:将类实例化 是该类事物的具体体现
c.举例:
类 动物
对象 狗就是一个实例化对象
成员变量和局部变量的区别
A.在类中的位置不同
成员变量:在类中 方法外
局部变量:在方法定义中
B:在内存中的位置不同
成员变量:在堆内存
局部变量:在栈内存
C:生命周期不同
成员变量:随着对象的创建而存在,随着对象的消失而消失
局部变量:随着方法的调用而存在,随着方法的调用而消失
D.初始化值不同
成员变量:有默认初始化值
局部变量:无默认初始化值,必须定义,赋值,才能使用
注意事项:: 局部变量名称可以和成员变量名称一样,在方法中使用的时候,采用的是就近原则
封装的概述
封装是指隐藏对象的属性和实现细节,仅对外提供公共访问方式
封装的好处
隐藏实现细节,提供公共的访问方式
提高了代码的复用性
提高安全性
封装原则
将不与要对外提供的内容都隐藏起来,只提供公共方法对其访问
private关键字
private常见的应用
1.把成员变量用private修饰
2.提供对应的getxxx()和setxxx()方法
this关键字
作用 :当成员变量和局部变量同名时 用this.成员变量可以解决 局部变量隐藏成员变量的问题
构造方法
作用:创建对象 给对象中的成员实例化。
特点 类名(); 类名与方法名同名 没有返回值类型 没有具体的返回值
STUDENT();
可以通过构造方法给成员变量赋值
创建一个对象的步骤
Student s = new Student();
步骤:
(1):加载Student.class文件进内存
(2):在栈内存为s开辟空间
(3):在堆内存为学生对象开辟空间
(4):对学生对象的成员变量进行默认初始化
(5):对学生对象的成员变量进行显示初始化
(6):通过构造方法对学生对象的成员变量赋值
(7):学生对象初始化完毕,把对象地址赋值给s变量