【java基础】面向过程~面向对象

 

       相信大家都知道这两个东西,可是大家是如何知道的呢?我们又该如何区分这个东西到底是面向过程还是面向对象的呢?

 

那,我们首先就要知道什么是面向过程,什么是面向对象

 

面向过程”(Procedure Oriented):

  是一种以过程为中心的编程思想。面向过程也可称之为面向记录编程思想,并且它们不允许混合持久化状态和域逻辑。就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。

面向对象(Object Oriented,简称OO)

  是一种以事物为中心的编程思想。是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。

 

这样说的太干燥了,来点实例:

就说一个混小子吧,结婚之前,他如果想吃点酒菜,首先要自己去买各种菜,然后炒个白菜肉,红烧鱼,红烧牛肉,葱爆羊肉,油闷大虾。用代码来说就是

 

 

结婚了之后吧,这小子媳妇儿挺贤惠,什么都会做,脾气又好,可爽了这小子了,在想吃酒菜的时候,给媳妇儿说“亲爱的,我要吃酒菜,吃白菜炒肉,红烧鱼,红烧牛肉,葱爆羊肉,油闷大虾”,是这样来实现的:

 

/**
 *
 * @author 李卫中
 */
public class EatJiuCai {
    String name;
    
    public static void main(String[] args){
    HunBoy boy=new HunBoy();
    Wife wife=new Wife();
    boy.name="混小子";
    wife.name="好媳妇儿";
    boy.DianCai("白菜炒肉");
    boy.DianCai("红烧鱼");
    boy.DianCai("红烧牛肉");
    boy.DianCai("葱爆羊肉");
    boy.DianCai("油闷大虾");
    wife.cookBaicaiRou();
    wife.cookHongshayu();
    wife.cookHongshaocow();
    wife.cookCongBaosheep();
    wife.cookYoumendaxia();
    }
}
 
class HunBoy{
    String name;
  
    public void DianCai(String caiName){
        System.out.println(name+"说:我要吃"+caiName);
    }
}
class Wife{
    String name;
    
    public void cookBaicaiRou(){
        System.out.println(name+"说:我做好了白菜炒肉");
    }
    
    public void cookHongshayu(){
        System.out.println(name+"说:我做好了红烧鱼");
    }
    
    public void cookHongshaocow(){
        System.out.println(name+"说:我做好了红烧牛肉");
    }
    
    public void cookCongBaosheep(){
       System.out.println(name+"说:我做好了葱爆羊肉");
    }
    
    public void cookYoumendaxia(){
       System.out.println(name+"说:我做好了油闷大虾");
    }
}
 
运行结果呢:



通过这个,就很好理解了吧,还不行的话,只能上绝招了

面向过程:

 

面向对象:



       这样明白了没?面对过程的时候,混小子光棍一根,没人帮他,所以有事得自己从头做到尾,也就是从梦想到实现都是自己一步步去经历。注重的是过程。

       可是结了婚之后,这小子有了一个厨师,他在想吃什么东西,只需要点菜名,告诉他的好媳妇儿一声,他的好媳妇直接给他做然后端给他。而混小子呢,他不需要管怎么做菜,做菜要经历什么,他只需要点个菜,然后等着吃,也就是传一个菜名,然后等着媳妇给他最后端过来吃就好了。在这里注重的是,他给媳妇说,媳妇儿给他做


这就是面向对象的思想:是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。

 

小结:

       面向过程,是将一件事的实现从头到尾面面俱到的去实现,按顺序,一步步什么都不少

       而面向对象,是我把这件事交给别人(可以做这件事的人),我只需要发布命令,然后坐等结果就好,过程,我不管,我只要最后的目的被实现就好(要考虑性能哦)

 

题外话:

       媳妇儿是用来疼的,广大的那行同胞们,外面雄风不到,家里厨房乱跑才是好的,以后像这种混小子的活,还是不要做得好,得给媳妇儿做饭,做个气管炎,其实挺幸福的

posted @ 2015-09-01 20:18  Double-Eggs  阅读(281)  评论(0编辑  收藏  举报