标签:
------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------
面向对象之理解
一:理解面向对象
1,什么是对象
对象就是实际生活中的事物,可以说一切事物都是对象。 如:桌子,椅子,电脑,电视机等。
对象的3个主要特征:
a)对象行为:这个对象能做什么,既可以让这个对象完成什么样的功能。 如:自行车可以用来骑。
b)对象的状态:当操作对象的方法时,对象所保持的一种特定的状态。 如:可以扭动自行车转弯。
c)对象的标识符:可以通过标识符,区别具有相同行为或类似状态的对象,通过它能区分不同的对象。 如:自行车的颜色。
2,面向对象的概念
a)面向对象是相对面向过程而言
b)面向对象和面向过程都是一种思想,早期的思想是面向过程,通过不断的演化到
了面向对象
c)面向过程
强调的是功能行为
d)面向对象
将功能封装进对象,强调具备了功能的对象
e)面向对象是基于面向过程的
f)面向对象,是指编写程序的时候要围绕着一个对象的功能进行编写。
例 :大象放到冰箱
1 打开冰箱
2 大象放到冰箱
3 关闭冰箱
说明: 我们注重的是过程,注重过程当中所涉及到的行为,也就是功能(打开功能,存储功能,关闭功能) 。
那么我们把他转化成为对象是什么样的呢?也就是说我们现在不在面向这个过程了,而是针对对象。
所以就把思想转变了,既然这些都是冰箱的行为 ,我们只要操作这个冰箱中所具备的功能就可以的话,我们就把这些行为全部
都定义到冰箱当中,冰箱是一个实实在在存在的一个物体,这个我们就称之为对象。
这样我们看到的就不再是打开,存储,关闭了 。
我们看到的其实就是一个事物冰箱。
二:面向对象特点
面向对象的四个特征:封装,继承,多态,抽象。
封装:是指对一件事物的描述信息是这个事物特有的,不能让外界看到的一些成员变量和方法。
在java里成员变量和方法就被封装在类里,需要通过一些特有的方法访问他们。
继承:是发生在类与类之间的,是子类共享父类成员变量和方法的一种模式。通过扩展子类的方法可以使子类有比父类更强大的功能。
多态:是指对象在运行期和编译期的两种状态,多态的使用使代码具有了更多的灵活性和重用性。
抽象:是指在定义类的时候,确定了该类的一些行为和动作。 如:自行车可以移动。
但怎么移动不进行说明。这种提前定义一些动作和行为的类为抽象的。
三:类与对象
类:是java语言描述事物的一种方式,描述就是class定义的类。
对象:就是这类事物实实在在存在的个体,在java中用new产生的实体,这个实体在堆内存中。
为什么对象在对内存中还是个实体呢?
我们发现对象中包含很多的数据,凡是数据多了我们就用实体来存储,像数组一样,数组中可以存储一些数据,对象也是可以存储数据的,
凡是用于存储多个数据的我们都称之为实体。都放在堆内存中。
四:成员变量和局部变量
作用范围:
成员变量:作用于整个类中
局部变量:作用于函数中,或者语句中
在内存中的位置:
成员变量:在堆内存中,因为对象的存在,才在内存中存在。
局部变量:存在于栈内存中。
参与运算时:
成员变量:都有默认的初始化值,因为他在堆内存中。
局部变量:不初始化是不可能参与运算的 ,因为他在栈内存中,
必须有初始化值以后才能参与运算。
五:匿名对象
1, 匿名对象是对象的简化形式
如:
1 Car c = new Car( ); 2 c . num = 5; 3 4 //变为: 5 new Car( ) . num =5;
2, 匿名对象两种使用情况
a) 当对对象方法仅进行一次调用的时候
b)匿名对象可以作为实际参数进行传递
-----------android培训、java培训、java学习型技术博客、期待与您交流!------------
标签:
原文地址:http://www.cnblogs.com/hmchengxuyuan/p/4977688.html