——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——-
面向对象(概述_类、对象等)
一、概述
面向过程:一种思想,强调的是功能行为.(执行者)
面向对象:将复杂是问题简单化(指挥者)
面向对象是一种思想,它可以是复杂问题简单化。它可以是使我们角色发生转变,从执行者变成指挥者。(举个例子说明:)
如:把大象装进冰箱。
面向过程:第一步:打开,第二步:存储。第三步:关闭(强调动作)
面向对象:操作的是冰箱这个对象,冰箱有这几个功能。(强调对象)
原理图:
例如:人开门 开是人的功能还是门的功能?
开是门的功能,而不是人的功能。人是调用门的开门的功能。只有门只能开多少度。。。。等细节信息。
一切皆对象。 java中有对象拿过来用,没有对象自己造对象。
开发的过程 无非是:找对象,建立对象,使用对象,并维护对象之间的关系。(对象之间都是存在关系的)
二、类和对象?
1、类:就是对显示生活中的描述。
2、对象:就是这类食物实实在在存在的个体。
对象:是在java中通过一个new操作符所产生的一个实体,这个实体在堆内存当中。
像数组一样,对象也是用于存储数据的,凡是用于存储数据的,我们叫做实体,存在于堆内存当中。
3、类和对象的图例:
可以理解成:类是图纸;汽车就是堆内存中的对象。
4、示例:
/*
*需求:描述汽车(颜色和轮胎数)。描述事物,其实就是在描述事物的属性和行为。
*
* 属性对应类中的变量,行为对应类中的函数(方法)。
* 定义类,其实就是在描述事物,就是在定义属性和行为。 属性和行为共同称为类中的成员。(成员变量和成员方法)
*/
<span style="font-family:Microsoft YaHei;font-size:12px;">class Car{
//描述颜色
String color="red";
//描述轮胎数
int num=4;
void run(){
System. out.println(color +"..." +num );
}
}
public class CarDemo{
public static void main(String[] args) {
//生产汽车在java中通过new操作符来完成。
//其实就是在堆内存中产生一个实体
Car c= new Car();//c就是一个类类型变量。记住:类类型变量指向对象。类类型变量指向该类产生的实体。
c. color= "blue";
c.run(); //blue 4
Car c1= new Car();
c1.run(); //red 4
}
}</span>
5、原理图:
三、成员变量、局部变量
1、成员变量和局部变量有什么不同?
1)作用范围
成员变量:作用于整个类中。
局部变量:作用于函数或者语句中。
2)在内存中的位置:
成员变量:在堆内存中,因为对象的存在才在内存中存在。
局部变量:在栈内存中,
四、匿名对象
匿名对象调用方法有意义,但是调用属性没有意义。凡是简化的都有局限性。
1、匿名对象是对象的简化形式 如:new Car()
2、匿名对象的两种使用方式:
1)当对对象的方法只调用一次时,可用匿名对象来完成,这样写比较简化。当对一个对象进行多个成员调用,必须给这个对象起个名字。
2)可以将匿名对象作为实参进行传递。