面向对象概述
1、面向对象思想
A、什么是面向对象(3点)
B、面向对象的思想特点1、面向过程是以函数为基础,完成各种操作,强调的是过程
2、面向对象以对象为基础,完成各种操作,强调的是对象,结果
3、面向对象是基于面向过程的
1、是一种更符合人们思考习惯的思想
2、把复杂的事情简单化
3、把我们从执行者变成了指挥者
3、把我们从执行者变成了指挥者
2、类与对象的关系
把事物转换成类
| ||
事物
|
-->
|
类
|
属性
(
特征
)
|
-->
|
成员变量
(
定义在类中,方法外
)
|
行为
(
功能
)
|
-->
|
成员方法
(
和以前的区别是去掉
static)
|
类与对象的关系
| |
类
|
是相关的属性和行为的集合,集合就是一堆东西,是一个抽象的概念
|
对象
|
是某种事物的具体的存在,具体的表现形式
|
举例
| 学生 : 类
对象
:
小明
|
3.面向对象三大特性
1. (封装) 封装是面向对象编程的核心思想,将对象的属性和行为封装起来,而将对象的属性和行为封装起来的载体就是类,类通常对客户隐藏其实现细节,这就是封装的思想。例如,用户使用电脑,只需要使用手指敲击键盘就可以实现一些功能,用户无须知道电脑内部是如何工作的,即使用户可能碰巧知道电脑的工作原理,但在使用电脑时并不完全依赖于电脑工作原理这些细节
2.(继承)类与类之间同样具有关系,如一个百货公司类与销售员类相联系,类之间这种关系被称为关联。关联是描述两个类之间的一般二元关系,例如一个百货公司类与销售员类就是一个关联,再比如学生类以及教师类也是一个关联。两个类之间的关系有很多种,继承是关联中的一种
3.(多态)多态性允许以统一的风格编写程序,以处理种类繁多的已存在的类以及相关类。该统一风格可以由父类来实现,根据父类统一风格的处理,就可以实例化子类的对象。由于整个事件的处理都只依赖于父类的方法,所以日后只要维护和调整父类的方法即可,这样降低了维护的难度,节省了时间。在提到多态的同时,不得不提到抽象类和接口,因为多态的实现并不依赖具体类,而是依赖于抽象类和接口
1、概念
4、如何使用定义好的类
1、定义格式
类名 对象名 = new 类名 ()
2、使用格式
类名 对象名 = new 类名 ()
2、使用格式
1、成员变量的使用
调用:对象名.变量名
赋值:对象名.变量名 = 值;
2、成员方法的使用
调用:对象名.方法名(实际参数);
5、成员变量和局部变量的区别
1、定义位置
成员变量:在类中方法外
局部变量,在类中方法中,或者方法上的形式参数
2、初始化的区别
成员变量:有默认的初始化值
局部变量:无
3、存储位置
成员变量:堆 随着对象的存在而存在
局部变量:栈
随着方法的存在而存在
6、匿名对象
没有名字的对象
2、使用场景
2、使用场景
A 对象中的方法只调用一次的情况下使用
(
一般不用,测试时使用
)new Student().sayHello();
B 匿名对象作为实际参数传递
B 匿名对象作为实际参数传递