封装继承多态

封装:

将对象的属性方法进行隐藏,只对特定的对象提供访问权限,通过权限修饰符,方法的参数隐藏来实现隐藏具体的实现过程,从而达到保护数据隐私,计算思维中有一个重要的概念是抽象,即忽略具体,关注重点,这个思想在封装中也有体现, 在接口的定义和实现方式,也有封装的思想,将具体的方法实现进行封装,对外只提供方法的定义,实现了对具体操作的隐藏。

继承:

简单的理解就是以现有类为基础,复制它,然后通过添加和修改这个副本来创建新类。继承现有类型时,子类拥有父类的所有成员,更重要的是子类复制了基类的接口,即所有可以发送给基类对象的消息同时也可以发送给导出类对象,子类的确继承了父类的所有属性和方法,因为权限修饰符的关系,访问也有一些限制;

子类和基类之间的关系:

is-a:当继承只覆盖基类的方法的时候,意味着他们子类和基类是完全相同的类型,子类可以完全替代一个基类,这种视为纯粹替代,这种情况下的基类与子类的关系为is-a(是一个)关系。

Is-like-a:当需要在子类中扩展基类没有的属性或者方法的时候,这个子类仍然可以替代基类,但这种替代并不完美,因为在基类无法访问新添加的方法,所以这种情况下的基类和子类的关系为is-like-a(像一个)关系。

多态:

向上转型:对象可以作为它自己本身的类型引用,也可以作为它的基类型的引用,即把这个某个对象的引用视为对其基类的引用的做法称作向上转型。

首先多态是建立在继承的基础上的,对于使用基类的类型,而在实例化的使用子类的类型,对于方法的调用,编译器是如何来判断是调用基类的方法还是子类的方法?根据方法调用绑定。将一个方法调用和同一个方法的主体关联起来被称作绑定,这在程序执行前进行绑定,叫做前期绑定,这个是不需要选择就默认的绑定方式。后期绑定,即在运行时根据对象的实际调用来进行绑定,后期绑定也叫动态绑定或运行时绑定。注:除了static方法和final方法之外,其他的所有方法都是后期绑定。

构造器和多态:基类的构造器总是在子类的构造过程中被调用,而且是按照继承层次逐渐向上链接,以使每个基类的构造器都可以得到调用,因为只有基类的构造器具有恰当的知识和权限来对自己的元素进行初始化,因此必须令所有的构造器都得到调用,才可以正确的构造完成的对象,在构造的过程中,如果没有明确的指定调用的某个基类的构造器,就会默默的调用默认构造器。

 

如有异议,敬请提出,谢谢观看,与君共勉。

全部评论

相关推荐

点赞 1 评论
分享
牛客网
牛客企业服务