package test02;
public class Demo6_objectOriented_Basis {
public static void main(String[] args) {
// TODO Auto-generated method stub
}
//面向过程
//代表语言:C语言
//不断地使用函数
//过程:getways(){功能;}
//面向对象
//将所有的功能进行封装,面对的是封装了功能的实体(对象)
//将过程放置到一个class中,就是将过程进行封装
//class tool{过程;}
//对象指实体
//例子:买电脑(组装机)
//面向对象优点:1.符合人们思考习惯
//2.面向过程更多体现执行者,面向对象体现的指挥者 3.面向对象将复杂的问题简单化
//面向对象的世界中:万物皆对象
//面向对象如何应用(从问题领域中抽取对象(实体))名词一般是对象
//大象装进冰箱
/*
* 对象:大象 冰箱
*
* 分三步
* 1.打开冰箱门
* 2.将大象装进去
* 3.关上冰箱门
*
* 冰箱对象中:
* 打开功能
* 关闭功能
* 存储功能、
*
* 大象{}
*
* 冰箱//度冰箱事物的描述
* {
* 打开(){}、
* 关闭(){}
* 存储(大象){}
* }
*
* 1.创建冰箱对象
* 冰箱 bingXiang = new 冰箱();
* 2.调用冰箱功能
* 对象.功能();
* bingXiang.打开();
* bingXiang.存储(new 大象());
* bingXiang.关闭();
*/
//将面向对象落实到代码上
/*
* 描述小汽车
* 分析:
* 事物的属性:
* 颜色
* 轮胎个数
* 事物的行为(功能):
* 运行
*属性就是数值,即变量;行为是功能,就是函数
*Java描述事物通过类完成
*/
}
class Car
{
String color;
int number;
void run()
{
System.out.println(color+”::”+number);
}
}
class CarDemo
{
public static void main(String[] args) {
//测试:Car类中run方法
//1.创建Car的对象,给对象起名字
Car c = new Car();//Car 为引用数据类型中的类类型
//2.通过已有的对象调用该对象的功能。 格式:对象.对象成员;
c.color=”red”;
c.number= 4 ;
c.run();
Car c1 = new Car();
c1.color=”blue”;
c1.number= 8 ;
c1.run();
}
/*
* 栈堆
//1.
* Car c = new Car();
* Car c1 = new Car();
c1.color="blue";
c.number= 8 ;
c1.run();//结果
c=null;//有垃圾吗--有
//2.
* Car c = new Car();
* Car c1 = c;
c1.color="blue";
c.number= 8 ;
c1.run();//结果
c=null;//有垃圾吗--没有
//面向对象12
*/
//类与对象:
//类:对事物的描述,需要体现属性和行为
//对象:该类事物创建的实体,通过该对象调用具有的属性和行为
/*
* 成员变量(a)和局部变量(b)
* 1.定义的位置不同
* a定义在 类中
* b定义在方法及其语句中
* 2.在内存中的位置不同
* a存储在堆内存的对象中
* b存储在栈内存的方法中
* 3.生命周期不同
* a随着对象的出现而出现,随着对象的消失而消失
* b随着方法的运行而运行,随着方法的消失而消失
* 4.初始化不同
* a因为在堆内存中,所以默认初始化值
* b没有默认初始化值,必须初始化之后才能用
*/
}