面向对象
举例:
大象装进冰箱。
面向过程:
- 打开冰箱
- 存储大象
- 关上冰箱
对于面向过程思想,强调的是过程(动作);
面向对象
面向对象思想,强调的是对象(实体);
- 冰箱打开
- 冰箱存储
冰箱关闭
java 、C++、C#
面向对象特点:(面向对象的理解)
1. 面向对象就是一种常见的思想,符合人们的思考习惯
2. 面向对象的出现,将复杂的问题简单化
3. 面向对象的出现,让曾经在过程中的执行者,变成了对象中的指挥者。
面向对象的举例:
面向对象类与对象的关系
/**
* 用java语言对现实生活中的事物进行描述
* 通过类的形式体现
* 怎么描述呢?
* 对于事物描述通常关注俩个方面
* 一个是属性,一个是行为
*
* 只要明确该事物的属性和行为并定义在类中即可。
*
* 对象:其实就是该类事物实实在在的个体。
*
* 类与对象之间的关系?
* 类:事物的描述
* 对象:该类事物的实例。
* @param args
*/
public static void main(String[] args) {
}
面向对象类与对象的体现
package com.study.array2.myclass;
public class CarDemo {
/**
* 用java语言对现实生活中的事物进行描述
* 通过类的形式体现
* 怎么描述呢?
* 对于事物描述通常关注俩个方面
* 一个是属性,一个是行为
*
* 只要明确该事物的属性和行为并定义在类中即可。
*
* 对象:其实就是该类事物实实在在的个体。
*
* 类与对象之间的关系?
* 类:事物的描述
* 对象:该类事物的实例。
* @param args
*/
public static void main(String[] args) {
//在计算机中创建car实体 ,通过new关键字
Car car=new Car();//car就是一个类类型的引用变量,指向了该类的对象。
car.num=4;
car.color="red";
car.run();//要使用对象中的内容可以通过,对象.方法(行为)
}
}
/**
* 描述小汽车
*
* 分析:
* 1.属性
* 轮胎数
* 颜色
* 2.行为
* 运行
*/
class Car{
int num;
String color;
void run() {
System.out.println(num+"..."+color);
}
public Car() {
super();
// TODO Auto-generated constructor stub
}
}
面向对象类与对象的体现(细节)
定义类就是在定义类中的成员。
- 成员变量———–属性
- 成员函数———–行为
面向对象(对象的内存的体现)
面向对象(成员变量与局部变量的区别)
/**
* 成员变量和局部变量的区别:
*
* 1.
* 成员变量定义在类中,这个类中都可以访问
* 局部变量定义在函数中,语句,局部代码块中,只在所需的区域有效
*
* 2.
* 成员变量存在于堆内存的对象中
* 局部变量存在于栈内存的方法中
* 3.
* 成员变量随着对象的创建而存在,随着对象的消失而消失
* 局部变量随着所属区域的执行而存在,随着所属区域的结束而释放
* 4.
* 成员变量都有默认的初始化值,
* 局部变量没有默认的初始化值
*/
面向对象(成员变量与局部变量同名&显示初始化)
去掉注释之后也就是加上int num=10;
输出的结果num为10.因为先从栈中寻找,存在输出,不存在去堆里找。
面向对象(类型参数)
//在计算机中创建car实体 ,通过new关键字
Car car=new Car();//car就是一个类类型的引用变量,指向了该类的对象。
car.num=4;
car.color="red";
car.run();//要使用对象中的内容可以通过,对象.方法(行为)
Car car2=new Car();
car2.num=4;
car2.color="white";
car2.run();
//提高复用性,改装厂
public static void show(Car car) {
car.num=4;
car.color="black";
car.run();
}
面向对象(匿名对象)
匿名对象执行完,没有引用指向就变成了垃圾。
面向对象(基本数据类型参数传递图解)
面向对象之封装特性
隐藏实现细节