java面向对象有哪些特征

继承,封装,多态

封装隐藏了类的内部实现机制,可以在不影响使用的情况下改变类的内部结构,同时也保护了数据,对外界而已它的内部细节是隐藏的,暴漏给外界的只是它的访问方法。属性的封装;使用者只能通过实现定制好的方法来访问数据,可以方便的加入逻辑控制,限制对属性的不合理操作,使用者按照既定的方式调用方法,不必关心方法的内部实现,便于使用,便于修改,增强代码的可维护性

主要是增强了代码的可维护性和便于修改

封装意义在于明确标识出允许外部使用的所有成员函数和数据项

内部细节对外部调用透明,外部调用无需修改或者关心内部实现

继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和方法,并能扩展新的能力。在本质上是特殊、一般的关系,即常说的is-a关系,子类继承父类,表明子类是一种特殊的父类,并且具有父类所不具有的一些属性和方法,从多种实现类中抽象出一个基类,使其具备多种实现类的共同特性,当实现类用extends关键字继承了父类后,实现类就具备了这些相同的属性。java通过extends关键字来实现继承,父类中通过private定义的变量和方法不会被继承,不能在子类中直接操作父类通过private定义的变量和方法,继承避免了对一般类和特殊类之间共同特征进行的重复描述,通过继承可以清晰的表达每一项共同特征所适应的概念范围,在一般类中定义的属性和操作适应于这个类本身以及它以下的每一层特殊类的全部对象。运用继承原则则使得系统模型比较简练也比较清晰

增强代码复用性

子类共性的方法或者属性直接使用父类的,而不需要自己再定义,只需要扩展自己个性化的

封装和继承最后归结于多态,多态指的是类和类的关系,两个类由继承关系,存在有方法的重写,故而可以在调用时有父类引用指向子类对象,多态必备三个要素,继承,重写,父类引用指向子类对象

Animal a=new dog

多态基于对象所属类的不同,外部对同一个方法的调用,实际执行的逻辑不同

继承 方法重写 父类引用指向子类对象

比如这时要用cat子类 这时只需要把dog换成cat就可以

变量名并没有变 利于后期程序的维护和扩展

但是无法调用子类特有的功能 因为这个方法必须在父类方法中有

在子类进行重写

posted @ 2021-07-14 17:56  王子剑  阅读(64)  评论(0编辑  收藏  举报