您的位置:首页 > 编程语言 > Java开发

面向对象

2015-11-07 01:40 465 查看
面向对象的概述

面向对象和面向过程的区别:

面向过程举例:

* 大象装进冰箱
*
* 面向过程
*
* 打开冰箱
* 存储大象
* 关上冰箱
*
* 对于面向过程思想,强调的是过程(动作)


面向对象举例:

* 对于面向对象思想,强调的是对象(实体)。
*
* 冰箱打开
* 冰箱存储
* 冰箱关闭


面向对象

特点:

1:面向对象就是一种常见的思想,符合人民的思考习惯

2:面向对象的出现,将复杂问题简单化

3:面向对象的出现,让曾经的过程中的执行,变成了对象中的指挥者

类与对象之间的关系

* 用java语言对现实生活中的事物进行描述。

* 通过类的形式来体现的。

*

*

* 怎么描述呢?

* 对于事物描述通常只关注两个方面。

* 一个是属性,一个是行为

*

* 只要明确该事物的属性和行为并定义在类中即可。

*

* 对象:其实就是该类事物实实在在存在的个体。

*

* 类与对象之间的关系?

* 类:事物的描述

* 对象:该类事物的实例。在java中通过new来创建的

面向对象(类与对象体现)

描述小汽车

分析:

1,属性。

轮胎数。

颜色。

2.行为

运行。

定义类其实就是在定义类中的成员。

成员:成员变量<–>属性,成员函数<–>行为。

class Car{ //图纸
int num=4;//基本类型,默认初始化值为0,现在赋值为4。
String color;//引用类型变量,默认初始化为null。

void  run(){
System.out.println(num+color);
}
}

public class Demo{
public static void main(String[] args) {
//在计算机中创建一个car的实例,通过new关键字
Car c=new Car();//c就是一个类类型的引用变量,指向了该类的对象。
c.num=4;
c.color="red";
c.run();//要使用对象中的内容可以通过   对象.成员的形式来完成调用。
}
}


类和对象的关系:

在上面的代码可以说,类其实就是图纸。就是说。一辆汽车做出来有轮胎,什么颜色。怎么样跑。也就是class Car{}这段代码的体现。

既然图纸已经有了,下面就需要做车这实实在在的东西出来了,而在计算机中做车出来,是通过new这个关键字的。上面就做出了c这辆车出来。然后就可以确定有多少个轮胎,颜色,和到底怎么跑。计算机调用的方式就是 对象.成员的形式来完成调用的。

对象的内存体现



首先在栈内存中,主函数进栈,然后产生类类型变量c;

在堆中,产生对象。并生成地址值0x0034。并把地址值,赋值给c

。然后,会把num,color初始化。初始化的值分别是0,null。到这里Car c=new Car();这段代码执行完毕。

然后,到c.num=4;这段代码,会把num=0,赋值为4。同理color也会赋值为red。

每一个对象都有各自的内存空间,互不打搅。

看图片。



由这张图片可以看出来,c1和c2这2类类型。new Car()2次产生2对象。虽然代码的执行上是依次交替执行,但是,他们的堆内存中开辟出来的空间,是互相不打搅的。



这张图片说明了,c1产生的这个类类型所有的地址值,同时也把该地址赋值给了c2这个类类型。所以c1和c2表面上是名字不相同,但是实质上都是0x0034这个地址值。他们都是可以操作Car c1=new Car();产生的对象。

c1.num=8;c1可以操作num;

c2.color=”red”;c2可以操作颜色。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java