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

来源:互联网 发布:les蝴蝶 电影 知乎 编辑:程序博客网 时间:2024/06/05 19:15

 

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

 

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

 

面向过程”(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+"说:我做好了油闷大虾");    }} 
运行结果呢:



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

面向过程:

 

面向对象:



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

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


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

 

小结:

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

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

 

题外话:

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

1 0
原创粉丝点击