转:https://blog.youkuaiyun.com/u011526599/article/details/51337364
本文是为了方便作者自己记忆写的,所以有很多di'f地方是针对我自己来写的,所以有很多地方写的并不详细,如果有看不懂的可以在上面那个帖子去看,那个更加的详细。
面向过程进行编程时,我们需要通过对于事物的动作进行编程考虑,而面向过程编程时我们需要时面向对象进行编译分类,在每一个子类中对对象的动作进行描述描述,例子如下:
还是以上面的“把大象装冰箱”来探讨面向随想和面向过程的区别与联系
分析一下需求
第一步:把冰箱门打开;
第二步:把大象装进去;
第三步:把冰箱门关上。
运用面向过程的思想来实现
ProcedureOriented
package com.baosight.test;
/**面向过程测试类
* <p>Title:ProcedureOriented </p>
* <p>Description:TODO </p>
* <p>Company: </p>
* @author yuan
* @date 2016-5-7 上午10:25:16*/
public class ProcedureOriented {
public static void main(String[] args) {
// TODO Auto-generated method stub
// System.out.println("把冰箱门打开");
// System.out.println("把大象装进去");
// System.out.println("把冰箱门关上");
open();
in();
close();
}
/**
* @Title: close
* @Description: TODO
* @return void
* @author yuan
* @date 2016-5-7上午10:33:37
*/
private static void close() {
// TODO Auto-generated method stub
System.out.println("把冰箱门关上");
}
/**
* @Title: in
* @Description: TODO
* @return void
* @author yuan
* @date 2016-5-7上午10:33:07
*/
private static void in() {
// TODO Auto-generated method stub
System.out.println("把大象装进去");
}
/**
* @Title: open
* @Description: TODO
* @return void
* @author yuan
* @date 2016-5-7上午10:32:43
*/
private static void open() {
// TODO Auto-generated method stub
System.out.println("把冰箱门打开");
}
}
运用面向对象的思想来实现
须向创建大象类/冰箱类,冰箱类中2个方法,打开和关闭,大象类1个方法,装
Elephant
package com.baosight.test;
/**大象类
* <p>Title:Elephant </p>
* <p>Description:TODO </p>
* <p>Company: </p>
* @author yuan
* @date 2016-5-7 上午10:27:16*/
public class Elephant {
public void in() {
System.out.println("把大象装进去");
}
}
Refrigerator
package com.baosight.test;
/**大象类
* <p>Title:Elephant </p>
* <p>Description:TODO </p>
* <p>Company: </p>
* @author yuan
* @date 2016-5-7 上午10:27:16*/
public class Elephant {
public void in() {
System.out.println("把大象装进去");
}
}
Refrigerator
package com.baosight.test;
/**冰箱类
* <p>Title:Refrigerator </p>
* <p>Description:TODO </p>
* <p>Company: </p>
* @author yuan
* @date 2016-5-7 上午10:29:03*/
public class Refrigerator {
public void open() {
System.out.println("把冰箱门打开");
}
public void close() {
System.out.println("把冰箱门关上");
}
}
测试类ObjectOrientedDemo
package com.baosight.test;
/**面向对象测试类
* <p>Title:ObjectOrientedDemo </p>
* <p>Description:TODO </p>
* <p>Company: </p>
* @author yuan
* @date 2016-5-7 上午10:31:52*/
public class ObjectOrientedDemo {
public static void main(String[] args) {
// TODO Auto-generated method stub
//大象类
Elephant elephant = new Elephant();
//冰箱类
Refrigerator refrigerator = new Refrigerator();
//打开冰箱
refrigerator.open();
//装进大象
elephant.in();
//关闭冰箱
refrigerator.close();
}
}
上面2种实现的运行结果是一致的
上面简单讲述了面向对象和面向过程的联系与区别,值得一提的是虽然Java等现在流行的语言是面向对象的,但是,作为编程语言基础的C语言是面向过程的。在实际的使用中,面向对象和面向过程的思想是紧密联系的。