面向对象

         j2se的学习课程已经看完了! 现在正在全面进行总结,在这些语言中都提到了面向对象的设计思想,虽然之前的vb6并不是很面向对象,但也可以按照面向对象的思想进行设计。

       而java语言是完全面向对象编程的语言,所以在他们之间有什么样的不同呢,这个面向对象和面向过程是如何界定的?我们从以下三点描述以下程序师如何面向对象的!

      A、面向对象    面向过程

通过对vb6C#以及java的学习对面向对象思想和面向过程的思想有了一定的认识。

简单的说,面向过程就是做一件事每一步是怎么做的到要了解。依照业务的运行流程设计和完成程序。将程序分成一个个的功能块去实现。

而面向对象是将完成一部分有共同特点的功能抽象出来,付给一个类来完成。使用的时候将类实例化成对象。就可以直接使用。

而面向对象对于面向过程而言提高了程序的理解性。能够按照生活中认识事物的规律认识程序。再有提高了复用性,面向过程复用最多就是一个具体的功能。而面向对象,复用的时一批有共同依附者的功能。这用在使用上更加容易、方便。

下面通过一个例子更加形象的认识一下面向过程和面向对象。

 

这里就是将车子封装成一个类,我去新疆只要发出去新疆的命令就可以了。其他的由车子负责。我就用不着管了。

还有一个更加明显的例子,就是我们去饭店吃饭。我只要告诉他们吃什么,剩下的我就不用管了。一切都有饭店这个封装类来负责。

而我们如果用面向过程的思想去解决这个吃饭问题,那我们首先要发出吃什么,然后要知道饭店是怎么传递菜单、要知道什么菜该怎么做、怎么上菜等等。如果复用的话,那我们就需要一个方法一个方法的去调用。

而面向对象就太简单了,只要实现了这个饭店这个类。那么你就可以实现复用了!

 

  B、注意事项

用面向对象的思想开发程序我们应该注意哪些问题(我们需要做什么)?

1.       在这个问题里应该有哪些对象和类   

在程序开发过程中如何抽类是关键。如果类抽的合理那程序在实现和维护上都会变得非常的容易。如果这个类抽的有问题很可能实现不了需要的功能。

      和我们日常生活是一样的,如果我们根据修车和洗车的功能抽象出一个类来,这样是可以的。那如果是食品加工和农药制作隔一起,那人还都不得中毒啊?

      所以说抽类是非常关键的。如何能使得抽象出来的类更合理还需要经过不断地工程实践总结经验。

2.       这些类应该有什么属性和方法    

类抽出来了剩下的工作就是要确定每个类都包含什么属性和方法。把这些确定了才能称得上是一个类。(可以只有方法或属性也可以都有)

3.       类与类之间有什么关系

类就相当于一个事物,事物和事物之间肯定有有联系的。

所以弄清类与类之间的关系是抽类的下一个阶段,也属于抽类的一部分。我们很可能从抽出来的类中继续抽象出更高层次的类。

单个的类完成不了相应的功能。

类之间的关系之前已经学过这里简单的提一下:

C、多态

面向对象思想在程序中还有一个重要的表现形式——多态。如果实现多态有三个必要条件:

1.       必须有继承

2.       必须有方法的重写

3.       父类引用指向子类

如何去理解这三个条件呢?

第一条最为关键,是后两个条件的条件。在程序中要有父类和子类。父类为抽象类,他的发放可以实现也可以是方法的空架子(没有方法体)。等待子类重写!

第二条,重写!就子类将父类的方法按照自己的特点去实现。通过不同子类的重写才把每个子类区分开来。这也就是多态的基础,多态简单的说就是不同的对象对相同指令做出不同的反应。方法是相同的,通过重写就能使得不同类在实现上表现出不同的反应。

第三条,是能够表现出不同对象不同反应的必备条件。通过对吉大视屏和java视屏中对多态的实现对比发现,他们是完全相同的。都是将父类作为形参,然后把子类作为实参。这也就java中说的父类引用指向子类对象。

         把这个子类实体传过去以后调用它的方法那就是子类重写之后的方法。这样来做到不同对象对相同指令发出不同的反应。

 

         这是实现多条的最长用手段,还有很多其他的方法。不现在还没有学到。

 

你可能感兴趣的:(面向对象,面向过程,职场,多态,休闲)