java面向对象的特性测试题,java面向对象的特性之继承
事实上,java和。net属于面向对象的编程语言。归根结底都离不开面向对象,那么什么是面向对象呢?意味着面向对象把数据和数据操作看作一个相互依赖的关系,一个不可分割的整体,然后利用信息隐藏技术和数据抽象更简单地解决现实中的问题!
以上概念比较抽象,涉及到一个阶级问题。通俗地说,就是把一个东西抽象成一个类,这个类的实例就是一个对象。类与对象的关系实际上相当于设计图与对象的关系。面向对象其实就是面向类!
大型对象的三大特征:封装、继承和多态!
基本概念
1.包装
封装的意思其实很简单:就像你用u盘一样,u盘是封装在一个盒子里的,你根本不需要知道它是怎么工作的,你只需要知道怎么用就可以了。当然用的时候用的是USB接口,封装的类也是用特定接口调用的!
2.遗产
继承是指一个对象从另一个对象获得属性的过程。它是面向对象编程的三个原则中的第二个,它支持层次分类的概念。比如波斯猫是猫的一种,猫是哺乳动物的一种,哺乳动物是动物的一种。如果不使用层次结构的概念,每个对象都需要清楚地定义它的所有特征。通过层次分类,一个对象只需要在它的类中定义它的唯一属性,然后从它的父类继承它的通用属性。所以,正是因为有了继承机制,一个对象才能成为一个通用类的具体实例。深度继承的子类将继承类层次结构中其祖先的所有属性。
继承和封装可以相互作用。如果一个给定的类封装了一些属性,那么它的任何子类都将包含相同的属性,以及每个子类的所有属性。这是一个重要的概念,面向对象程序的复杂度是线性增长的,而不是几何增长的。一个新的子类继承了它所有祖先的所有属性。子类和系统中的其他代码之间不会有意外的交互。
3.多态性
多态是指一个方法只能有一个名字,但可以有多种形式,即一个程序中可以定义多个同名的方法,用‘一个接口,多个方法’来描述。它可以被方法的参数和类型引用。
封装、继承和多态之间的关系
让我告诉你一个封装、继承和多态的例子:
在一个由封装、继承和多态组成的环境中,程序员可以写出比面向过程的模型更健壮和可扩展的程序。精心设计的类层次结构是代码重用的基础。封装使程序员能够在不修改公共接口代码的情况下移植程序。多态性使程序员能够开发简洁、可理解和易于修改的代码。例如,汽车
从继承的角度来看,驱动程序都是依靠继承来驱动不同类型(子类别)的汽车。不管这辆车是轿车还是卡车,奔驰还是菲亚特,司机都能找到方向盘、手刹和换挡杆。开了一段时间的车,他们都能知道手动挡和自动挡的区别,因为他们都知道他们共同的超品类:变速器。
从打包的角度来看,驱动程序总是看到打包的功能。Brake隐藏了很多复杂,外观简单到可以用脚操作。发动机、手刹、轮胎尺寸的实现对刹车类别的定义没有影响。
从多态性的角度来看,制动系统可以分为正闭锁和负闭锁。驾驶员只用脚踩刹车就能停下来,同一个界面可以控制几种不同的实现(正锁或负锁)。
这样,每一个独立的部件都转化为汽车的客体。类似地,通过使用面向对象的设计原则,程序员可以将复杂程序的组件组合起来,形成一致的、健壮的和可维护的程序。
版权归作者所有:原创作品来自博主cdhqyj,转载请联系作者授权,否则将追究法律责任。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。