初学java:Java面向对象与c语言面向过程的不同

来源:互联网 发布:java 源代码文件 混淆 编辑:程序博客网 时间:2024/06/05 13:35


Java面向对象与c语言面向过程的不同

  1. 面向过程和面向对象的区别:

    面向对象和面向过程,其实就是关注一件事情的角度不同,比如说:你想看AVAmericanVideo

    面向过程是:

    面向对象是:

    从上面两张图不难看出,面向过程是一个自给自足的过程,它需要考虑第一步干什么,第二步干什么。。。

    而面向对象是直接无视过程,不关注他是怎么实现的,或者说是利用一个包装好的过程来实现自己想要达到的目的。。比如说:我要看AV,我不管你在哪下载谁给你种子,还是用暴影还是Q影还是射手还是快播来搞给我看,我不管,我就是要看AV

    Java面向对象的三个基本特征是类,

  2. 对象和类

    这也是面向对象语言比面向过程语言高级的地方,面向对象编程会比面向过程接近人类社会的思维方式,使程序员编程更加快捷和方便。

    如:AoisoraYui Hatano是对象,而他们都是日本人,日本人就是一个类。

    从上例不难看出,对象就是具体到某一事物上,而类就是对象的类别(也就是所谓的抽象),当然,对象也可以归属到不同的类。

     

    而每个事物都有自己的属性和行为,如:小何身高一米八五,具有打篮球、踢足球、编程的能力。

    身高就是小何的属性,从编程的角度来说可以用变量来描述。

    打篮球,踢足球,编程的能力就是小何的行为,从编程的角度来说可以用方法来描述。

     

  3. 继承

    现实世界中事物的属性和行为可以进行传递,当某一个事物得到了另一个失误传给它的属性和行为时,我们就说该事物实现了继承。

    如:小何的孩子小小何会继承父亲某些属性和行为,小小何身高也是一米八五,同样能打球,踢球,编程,还能把高数刷到100分!

    小小何继承了小何的某些属性和行为时,我们就说该事物实现了继承。

    继承不同于复制,上例中可看出,小小何还有高数刷分的技能,这就是他比他父亲高超的地方。

    被继承的对象是父类,继承父类的对象叫子类。

    通过继承来重用已有代码,同时增加新的代码来拓展功能,达到不浪费代码的目的。

     

  4. 多态

    多态是指同一个名字的若干个方法(方法体中的代码不一样,但是实现的功能类似,所以他们是同一个名字)。我们用一个方法名调用方法时,执行的是这些不同版本中的一种。

    多态分为重载和覆盖

  1. 重载

    一个类中,有若干方法名字想同,但参数不同,成为方法(functions)的重载。在调用时根据参数的不同来决定执行哪个方法。

    重载的关键是参数必须不同(参数的类型或个数必须不同)

    如:有个计算加法的方法,该方法既可以计算2个整数相加,也能计算2个浮点数相加,也能实现3个整数的相加,相比c语言,重载用起来方便得多。

                                publicint a2b(int a,int b)

                                publicfloat a2b(float a,float b)

                                publicint a2b(int a,int b,int c)

  2. 覆盖

    声明:覆盖是发生在子类中的。也就是说必须有继承才会有覆盖的发生。

    覆盖的定义:如果子类和父类有同名的方法(且参数相同),子类中的方法将覆盖父类的方法。

    也就是说你对一个父类的功能不爽,然后对该父类再写一遍写代码写到你爽到嗨来产生一个子类,下次你调用这个方法的时候就会用子类的方法来覆盖父类的方法。

     

  1. 接口

    Java中的类只能有一个父类(只能进行单重继承,c++可以多重),这样的程序结构简单,层次清楚,但是实际应用中往往需要多重继承,因此Java提供接口来实现多重继承。

    接口是一种特殊的类,它只能由常量和抽象方法组成,而不包含变量和方法的实现。

    一个接口可以被一个或者多个类实现,当一个类实现了一个接口,它必须实现接口中所有的方法,这些方法必须被声明为public

0 0
原创粉丝点击