面向对象:把要完成的一件事,通过对象间的协作实现。
面向过程:把要完成的一件事,通过循序依次调用各个模块实现。
我把大象装进冰箱这件事为例,用面向对象和面向过程实现,都是用java代码完成。
1、面向对象
package bigDemo.ObjectOriented;
/**
* 大象类
*
* @Description
* @author FuJianyong
* 2015-7-1下午05:47:11
*/
public class Elephant {
private String name;
public Elephant(String name){
this.name = name;
}
public String getName() {
return name;
}
}
package bigDemo.ObjectOriented;
/**
* 冰箱类
*
* @Description
* @author FuJianyong
* 2015-7-1下午05:39:05
*/
public class IceBox {
private String name;
public void open(People people){
System.out.println(people.getName() + "把" + this.name + "打开");
}
public void close(People people){
System.out.println(people.getName() + "把" + this.name + "关闭");
}
public IceBox(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
package bigDemo.ObjectOriented;
/**
* 人类
*
* @Description
* @author FuJianyong
* 2015-7-1下午05:39:15
*/
public class People {
private String name;
/**
* 描述人的动作
*/
private String action;
public void openIceBox(IceBox iceBox){
iceBox.open(this);//this表示调用此方法的对象(当前对象)
}
public void pushElephant(Elephant elephant, IceBox iceBox){
System.out.println(this.getName() + "把" + elephant.getName() + this.action + iceBox.getName());
}
public void closeIceBox(IceBox iceBox){
iceBox.close(this);
}
public People(String name, String action){
this.name = name;
this.action = action;
}
public String getName() {
return name;
}
}
package bigDemo.ObjectOriented;
/**
* 面向对象实现装大象进冰箱
*
* @Description
* @author FuJianyong
* 2015-6-30上午10:14:26
*/
public class ObjectOriented {
public static void main(String[] args) {
final IceBox iceBox = new IceBox("冰箱");
final Elephant elephant = new Elephant("大象");
final People people = new People("小明", "推进");
people.openIceBox(iceBox);
people.pushElephant(elephant, iceBox);
people.closeIceBox(iceBox);
}
}
运行结果:
小明把冰箱打开
小明把大象推进冰箱
小明把冰箱关闭
如果测试类中的引入新的对象,people类新增一个方法,即可变成完成另外一件事。
package bigDemo.ObjectOriented;
/**
* 牛奶类
*
* @author FuJianyong
* 2015-7-2下午10:05:10
*/
public class Milk {
private String name;
public Milk(String name){
this.name = name;
}
public String getName() {
return name;
}
}
people类中加入一个方法
public void pushMilk(Milk milk, IceBox iceBox){
System.out.println(this.getName() + "把" + milk.getName() + this.action + iceBox.getName());
}
package bigDemo.ObjectOriented;
/**
* 面向对象实现装大象进冰箱
*
* @Description
* @author FuJianyong
* 2015-6-30上午10:14:26
*/
public class ObjectOriented {
public static void main(String[] args) {
final IceBox iceBox = new IceBox("冰箱");
final Milk milk = new Milk("牛奶");
final People people = new People("小白", "放进");
people.openIceBox(iceBox);
people.pushMilk(milk, iceBox);
people.closeIceBox(iceBox);
}
}
运行结果:
小白把冰箱打开
小白把牛奶放进冰箱
小白把冰箱关闭
2、面向过程
package bigDemo.ProcessOriented;
/**
* 面向过程实现装大象进冰箱
* @Description
* @author FuJianyong
* 2015-7-1下午05:08:47
*/
public class ProccessOriented {
public void openIceBox(String people, String elephant, String iceBox){
System.out.println(people + "打开冰箱");
pushElephant(elephant, iceBox);
}
public void pushElephant(String elephant, String iceBox){
System.out.println("装" + elephant + "进" + iceBox);
closeIceBox(iceBox);
}
public void closeIceBox(String iceBox){
System.out.println("关闭" + iceBox);
}
public static void main(String[] args) {
new ProccessOriented().openIceBox("小明", "大象", "冰箱");
}
}
运行结果:
小明打开冰箱
装大象进冰箱
关闭冰箱
分享到:
相关推荐
面向过程、面向对象、面向组件、面向服务软件架构的分析与比较
面向对象和面向过程的区别
面向过程与面向对象区别面向过程与面向对象区别
面向对象的程序设计语言与面向过程的程序设计语言全文共3页,当前为第1页。面向对象的程序设计语言与面向过程的程序设计语言全文共3页,当前为第1页。面向对象的程序设计语言与面向过程的程序设计语言 面向对象的...
面向对象的软件开发过程.
Functional Programming vs. Imperative Programming
面向过程与面向对象面向过程面向对象面向过程和面向对象的区别类对象面向对象的两个要素2.类属性成员变量局部变量属性赋值的先后顺序成员变量和局部变量的异同点方法方法声明权限修饰符:public protected 缺省 ...
这是对面向过程和面向对象的解释,个人参考一些文章后做的小总结。
更,由面向过程发展到现在主流的面向对象的方法。面向过程包括面向功能和面 向数据流程。面向对象的思想用对象和对象之间的关系表现系统。模块封装和局 部化的特点使面向对象的方法更有利于改善软件质量、理解和维护...
面向对象与面向过程的程序设计方法比较.pdf主要介绍了面向对象与面向过程在程序设计方面的比较,指出了面向对象程序设计方法的优势。
面向对象的思考过程(英文版)
学习PHP不可不知道的知识,从PHP来看面向对象和面向过程的优缺点……
面向过程与面向对象 6.1.1 面向过程与面向对象 1、概念 面向过程(Procedure Oriented)也可称之为“面向记录”,是一种以过程为中心的编程思想。它注重的是具体的步骤,只有按照步骤一步一步执行,才能够完成某件...
在这期间,程序设计语言主要经历了从面向过程(如C和Pascal语言)到面向对象(如C++和Java语言),再到面向组件编程(如.NET平台下的C#语言),以及正在快速发展的面向服务架构技术(如SOA和WebService)。
面向对象基本概念 面向对象基本概念 我们之前学习的编程方式就是 面向过程 面向过程 的 面相过程 面相过程 和 面相对象 面相对象,是两种不同的 编程方式 编程方式 对比 面向过程 面向过程 的特点,可以更好地了解...
详细介绍了面向对象的分析与设计,全面探讨了面向对象概念、软件开发过程、UML和多层技术。本书使用最常见的技术和方法,通过一个贯穿全书的案例分析,对面向对象的软件开发过程和使用面向对象技术的编程过程进行了...
面向对象软件开发过程是现在主要应用的一种技术,它和面向过程形成了鲜明的对比。
投票系统(面向过程与面向对象)PHP,PHP系统的初学者