面向对象概念
面向对象是相对面向过程而言,面向对象和面向过程都是一种思想。面向过程强调的是功能行为,面向对象将功能封装进对象,强调具备了功能的对象。
面向对象是基于面向过程的。
这里用一个小例子来具体说明:
需求:描述把大象放进冰箱这件事。
面向过程:1.打开冰箱
2.把大象放进冰箱
3.关上冰箱
面向对象:1.找到冰箱 icebox
2.发现冰箱有打开功能,调用打开功能 icebox.open()
3.发现冰箱有储物功能,调用储物功能把大象放进去 icebox.set()
4.发现冰箱有关闭功能,调用关闭功能 icebox.close()
面向对象的特点
先用一个例子来点明:面向过程:一个不懂电脑知识的人去买电脑,他担心被坑,所以就自己在网上查资料或者买书来看。结果两种:
1.买到了逞心如意的电脑
2.还是被坑了,因为卖家更懂电脑
由此来看,不管结果如何都是花费了很多精力。
面向对象:一个不懂电脑知识的人去买电脑,他担心被坑,就去找懂电脑知识的对象(另外一个人Person),调用Person的买电脑方法,结果也是那两种。
但是从这里可以看出本人花费的精力少了许多,即效率高了。
从例子来看面向对象可以将复杂的事情简单化,将程序员从执行者转换成了指挥者。
完成需求时:
先要去找具有所需的功能的对象来用。
如果该对象不存在,那么创建一个具有所需功能的对象。
这样简化开发并提高复用。
面向对象开发,设计,特征
开发的过程:其实就是不断的创建对象,使用对象,指挥对象做事情。class Car//对Car这类事物进行描述
{
String color = "red";
int num = 4;
void show()
{
System.out.println("color="+color+"..num="+num);
}
}
class CarDemo
{
public static void main(String[] args)
{
Car c = new Car();//建立对象
c.color = "black";//对对象的属性进行修改
c.show();//使用对象的功能。
}
}
设计的过程:其实就是在管理和维护对象之间的关系。
面向对象的特征:
封装(encapsulation)
继承(inheritance)
多态(polymorphism)