当前位置:首页 > 开发 > 编程语言 > 编程 > 正文

面向对象面向过程

发表于: 2015-07-02   作者:3213213333332132   来源:转载   浏览:
摘要: 面向对象:把要完成的一件事,通过对象间的协作实现。 面向过程:把要完成的一件事,通过循序依次调用各个模块实现。 我把大象装进冰箱这件事为例,用面向对象和面向过程实现,都是用java代码完成。 1、面向对象 package bigDemo.ObjectOriented; /** * 大象类 * * @Description * @author FuJian
面向对象:把要完成的一件事,通过对象间的协作实现。
面向过程:把要完成的一件事,通过循序依次调用各个模块实现。
我把大象装进冰箱这件事为例,用面向对象和面向过程实现,都是用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("小明", "大象", "冰箱");
	}
}



运行结果:
小明打开冰箱
装大象进冰箱
关闭冰箱

面向对象面向过程

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
探讨问题的同胞们可以加QQ群:315309006 这里我首先想说的是面向过程、面向对象、面向切面不是什么
从接触VB学习计算机开始,就一直听说面向对象和面向过程,老师也不止一次讲过面向对象和面向过程,
面向过程和面向对象及面向对象的三大特征 英文及缩写:   面向过程:procedure oriented programm
面向对象(Object Oriented),通过对象来封装我们的数据。(组织代码,封装数据) 面向对象和面向过
面向过程,面向对象的深入理解一 首先,我们来看几道练习题。 第一道题目不用面向对象 交换两个变量
面向过程,面向对象的深入理解二 面向对象介绍,类和对象 首先作为基础知识的回顾,我们可以看下我
面向对象和面向过程是我始终不能理解的,可以说是傻傻分不清,下面是简单的罗列。 第四章【面向过程
UML对于我来说其实是完全陌生的,所以我觉得光看视频效率这个方法效率不高,有效性输入不牢固,所以
概念 面向过程设计:面向过程其实是最为实际的一种思考方式,就是是面向对象的方法也是含有面向过程
1)首先使用C#的面向过程的编写代码实现了简单计算器的计算,代码如下: try { Console.WriteLine("
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号