文章目录:
- 面向对象与面向过程:
- 什么是面向过程?
- 什么是面向对象?
- 类与对象的关系:
- 基本概念
- 类与对象的区别
- 面向对象与面向过程:
现在越来越多的高级语言流行起来了,如大家耳熟能详的c++,python,java等,这些都是基于面向对象的语言
面向过程的典型开发语言有Basic、Fortran、Pascal、C等
下面让我们来讨论他们之间的区别。
- 什么是面向过程?
面向过程:
所谓面向过程,是指从要解决的问题出发,围绕问题的解决过程分析问题。面向过程的分析方法考虑的是问题的具体解决步骤(解决方法),以及解决问题所需要的数据(数据的表示),所以在面向过程程序设计中,重点是设计算法(解决问题的方法)和数据结构(数据的表示和存储)。
举例来说,把大象装进冰箱要几步?
按照面向过程思想:
第一步:打开冰箱门
第二步:把大象塞进冰箱
第三步:把冰箱门关上
由此可以看出,面向过程就是把一件事按步骤一步一步来实现。
用代码表示:
1 public void openDoor(){} //开门
2 public void putIn(){} //装冰箱
3 public void closeDoor(){} //关门
依次调用这些方法就完成了,以上就是面向过程的基本概念及描述。
- 什么是面向对象?
面向对象:
面向对象的基本思想以一种更接近人的思维方式的方法去分析问题,面向对象设计首先分析问题由哪些部分组成,每部分的关系如何,然后再分析每一步怎样完成,即面向对象以对象及其行为为中心来考虑处理问题的思想体系和方法。
面向对象通过使用对象、继承、封装、消息等基本概念来进行程序设计。采用面向对象方法设计的软件不仅易于理解,而且易于维护和修改。
用面向对象的思想来解决把大象放进冰箱这个问题:
冰箱作为一个对象;
大象作为一个对象。
冰箱有这些功能:开门、装物体、关门
class fridge{
public void open(大象){} //开门
public void putIn(大象){} //放进冰箱
public void close(大象){} //关门
}
class elephant{
public void eat(){} //吃
}
每个对象是独立的,有属于它自己的功能,只需要专心实现自己的功能就好。所以在建立对象模型阶段,仅仅关注对象有什么的功能,但不考虑如何实现这些功能。
面向对象的好处,就包括有很好的延展性,面向对象就是把现实问题抽象为对象,通过调用每个对象的属性或功能去解决问题。
如果我要修改我的需求,把大象换成其他东西,我用面向过程是不是得把每个步骤中的大象改为其他东西。而用面向对象解决,我甚至可以重新创一个其他东西的对象,仅仅在调用的时候选择其他东西就行了。