面向对象程序设计基本概念(二)

88 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第2天,点击查看活动详情 对象的状态与行为

现实世界的对象具有两个特征:状态与行为。面向对象程序设计语言中的对象是以现实世界的对象为模型构造的,也具有状态与行为,其中状态保存在一组变量中,而对象的行为通过方法实现。

封装与数据隐藏

使用对象的对外接口(方法)将对象的变量与方法实现保护起来,外界只能通过对象的接口访问对象的服务,而对对象其它成员都无法访问,就称为封装。因此,对象中的数据封装同时也实现了对象的数据隐藏。数据隐藏是通过对象成员的访问控制实现的。在Java语言中提供了四种不同层次的访问控制,即public,protected,default和private,从而实现了对象四种不同程度的数据隐藏。

上溯造型

上溯造型的含义是子类沿着类继承体系向上,将其类型塑造为父类类型,使得子类对象能够当作父类对象处理。

晚联编

程序中调用对象的方法时,所调用的代码直到运行时刻才确定。因此,在程序编译时,编译器可以保证该方法存在并且执行参数与返回结果的类型检查,但却不知道要执行的准确代码。在运行时刻,Java运行系统根据对象变量当时所指向对象的实际类型,调用该对象的相应方法。这种技术称为晚联编。

多态的含义

面向对象的多态特征,简而言之就是“对外一个接口,内部多种实现”。面向对象程序设计语言支持两种形式的多态:运行时多态和编译时多态。编译时多态主要是通过重载(Overloading)技术实现的,即在一个类中相同的方法名可用来定义多种不同的方法。运行时多态是在面向对象的继承性的基础上建立的,是运行时动态产生的多态性,是面向对象的重要特性之一。