面向对象三大特性

2019-08-16 09:27:57来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

面向对象三大特性

                   Java面向对象编程有三大特性,它们是封装、继承和多态。

 

            封装:

 

                   字面上来说就是将一个东西包裹起来,这样会掩饰掉内部的细节。怎么样?这么一说是不是有点想法。

 

                   将类封装起来,只提供想提供的方法接口,而不需要提供具体实现细节,这样一来使得程序更加健壮。

 

                   另一方面比方说项目做到一半换人了,老板现在要求吧代码改了,有了封装之后,你完全不用管前人写的烂代码,只需要给出必须              

           的接口方法,就可以自己写自己的了,修改方便。

 

                   怎么封装呢?使用访问修饰符。还记得类的访问修饰符么,只能写public或者默认不写。

 

                   在类里面可以使用public、protected、默认不写或者private。这四个修饰符的访问权限越来越低。

 

                   还有一种方法,使用内部类。使用内部类能够更好的完成封装,有关内部类的详细介绍,请看下篇文章。

 

             继承:

 

                    继承很明显就是从一个已有的类那得到一些东西,能够很好的实现代码的重用性。

 

                    被继承的类称之为父类或者超类,继承父类的类称为子类。Java中所有类都是Object类的子类。

 

                    另外JAVA中只允许单继承,这样一来避免了多继承带来的代码过度耦合的问题。

 

                    虽然不能多继承,但是java中可以实现多个接口,来实现功能的扩展。

 

             多态:

 

                    指的是子类对象可以赋值给父类变量,但运行是仍表现出子类的行为特征,这意味着同一个类型的对象在执行同一个方法时,可以                 

             表现出多种行为特征。

 

                    简单来说,就是程序中同名的不同方法。

 

                    那么,怎么实现多态呢?

 

                    例如,可以通过子类对父类方法的覆盖实现,还可以通过一个类中方法的重载,还可以通过将子类的对象作为父类的对象实现多                 

           态。

 

                    子类将父类方法覆盖,指子类继承了父类的方法,对方法名、参数和类型不做修改,而仅仅改动方法的实现。

 

                    这时候调用被覆盖的父类字段和方法时,需使用super关键字。但需要注意,父类中声明为static、final的方法不能被覆盖。

 

                    而且声明为final的类的所有方法不允许被覆盖。

 

                    另一种实现多态的方法,在类中定义同名但参数不同的方法,包括参数类型不同、参数个数 不同,即方法的重载来实现多态。简单             

             的例子:

 

                                                                                                   run(int  i){}

                                                                                                   run(char c){}

                                                                                                   run(int i,char c){}

 

                     还可以通过对象引用实现多态,具体含义指引用型变量可以指向不同类型的对象

 

                     举个例子,公司里有职员和管理两类人,但是管理本身也是职员,也就是管理类继承自职员类。

 

                     对于职员类型变量不仅可以表示职员还可以表示管理类对象。

 

                    多态大大提高了程序的抽象程度,降低了类和程序模块之间的耦合性,也提高了类模块的封闭性。

 

                    由于小编水平有限,如有不足,还请不吝赐教!!!此处也是重点,记下记下。微信搜索关注油墨山公众号,获取更多文章资讯!!!


 

                                                        ◆◆油墨未干,为何停下双手!◆◆


 

感谢关注!

微信号:youmoshan


原文链接:https://www.cnblogs.com/skylife/p/11105242.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:基本数据类型float和double的区别

下一篇:Java集合 LinkedList的原理及使用