志达IT
做快乐程序员

java面向对象(java面向对象的四大特征)

java面向对象

面向目标简称OO(ObjectOriented),20世纪80年代今后,有了面向目标分析(OOA)、面向目标设计(OOD)、面向目标程序设计(OOP)等新的体系开发办法模型的研究。
对Java言语来说,全部皆是目标。把实际国际中的目标笼统地体现在编程国际中,一个目标代表了某个详细的操作。一个个目标终究组成了完好的程序设计,这些目标能够是独立存在的,也能够是从别的目标承继过来的。目标之间通过相互作用传递信息,完成程序开发。
目标的概念
Java是面向目标的编程言语,目标便是面向目标程序设计的中心。所谓目标便是实在国际中的实体,目标与实体是一一对应的,也便是说实际国际中每一个实体都是一个目标,它是一种详细的概念。目标有以下特点:
目标具有特点和行为。
目标具有改变的状态。
目标具有唯一性。
目标都是某个类别的实例。
全部皆为目标,实在国际中的所有事物都能够视为目标。
例如,在实在国际的校园里,会有学生和教师等实体,学生有学号、姓名、地点班级等特点(数据),学生还有学习、提问、吃饭和走路等操作。学生仅仅笼统的描述,这个笼统的描述称为“类”。在校园里活动的是学生个别,即张同学、李同学等,这些详细的个别称为“目标”,“目标”也称为“实例”。java
面向目标的三大中心特性
面向目标开发形式更有利于人们开辟思想,在详细的开发过程中便于程序的划分,便利程序员分工合作,进步开发效率。面向目标程序设计有以下长处。
可重用性:代码重复运用,减少代码量,进步开发效率。下面介绍的面向目标的三大中心特性(承继、封装和多态)都环绕这个中心。
可扩展性:指新的功能能够很容易地加入到体系中来,便于软件的修正。
可管理性:能够将功能与数据结合,便利管理。
该开发形式之所以使程序设计更加完善和强壮,首要是因为面向目标具有承继、封装和多态3个中心特性。
承继性
如同生活中的子女承继父母具有的所有产业,程序中的承继性是指子类具有父类的全部特征和行为,这是类之间的一种联系。Java只支撑单承继。
例如界说一个语文教师类和数学教师类,假如不选用承继办法,那么两个类中需求界说的特点和办法如图1所示。
从图1能够看出,语文教师类和数学教师类中的许多特点和办法相同,这些相同的特点和办法能够提取出来放在一个父类中,这个父类用于被语文教师类和数学教师类承继。当然父类还能够承继别的类,如图2所示。
总结图2的承继联系,能够用归纳的树形联系来表明,如图3所示。
从图3中能够看出,校园首要人员是一个大的类别,教师和学生是校园首要人员的两个子类,而教师又能够分为语文教师和数学教师两个子类,学生也能够分为班长和组长两个子类。
运用这种层次形的分类办法,是为了将多个类的通用特点和办法提取出来,放在它们的父类中,然后只需求在子类中各自界说自己独有的特点和办法,并以承继的办法在父类中获取它们的通用特点和办法即可。
提示:C++支撑多承继,多承继便是一个子类可有多个父类。例如,客轮是轮船也是交通工具,客轮的父类是轮船和交通工具。多承继会引起许多抵触问题,因而现在许多面向目标的言语都不支撑多承继。Java言语是单承继的,即只能有一个父类,但Java能够完成多个接口(接口类似于类,但接口的成员没有履行体。详细了解可参阅《Java接口》一节),能够避免多承继所引起的抵触问题。
封装性
封装是将代码及其处理的数据绑定在一起的一种编程机制,该机制保证了程序和数据都不受外部干扰且不被误用。封装的意图在于维护信息,运用它的首要长处如下。
维护类中的信息,它能够阻止在外部界说的代码随意拜访内部代码和数据。
躲藏细节信息,一些不需求程序员修正和运用的信息,比如取款机中的键盘,用户只需求知道按哪个键完成什么操作就能够,至于它内部是如何运转的,用户不需求知道。
有助于建立各个别系之间的松耦合联系,进步体系的独立性。当一个别系的完成办法产生改变时,只需它的接口不变,就不会影响其他体系的运用。例如U盘,不论里边的存储办法怎么改变,只需U盘上的USB接口不变,就不会影响用户的正常操作。
进步软件的复用率,降低成本。每个别系都是一个相对独立的整体,能够在不同的环境中得到运用。例如,一个U盘能够在多台电脑上运用。
Java言语的根本封装单位是类。因为类的用途是封装复杂性,所以类的内部有躲藏完成复杂性的机制。Java提供了私有和公有的拜访形式,类的公有接口代表外部的用户应该知道或能够知道的每件东西,私有的办法数据只能通过该类的成员代码来拜访,这就能够保证不会产生不期望的事情。
多态性
面向目标的多态性,即“一个接口,多个办法”。多态性体现在父类中界说的特点和办法被子类承继后,能够具有不同的特点或表现办法。多态性允许一个接口被多个同类运用,弥补了单承继的缺乏。多态概念能够用树形联系来表明,如图4所示。

java面向对象的四大特征

学习Java编程,第一步便是要了解什么是面向目标编程,而面向目标编程的最基础的概念便是四大根本特性。
一、封装
封装是面向目标四大根本特性之一,也是面向目标中目标和类概念的界说。封装的意思是把相同含有多种特点的物品,封装成为一个类。在真实运用时,经过初始化类目标的办法来运用。
如:人,就能够封装为一个类,能够包含名字、性别、年龄、身高、体重等等特点。可是每个人都有不同的名字、性别、年龄等,所以运用的时分咱们就需要给相应的目标赋值,使其具有特定性。
同时封装还有维护数据不被随意修正,提高代码的可维护性;而且露出有限的必要接口,提高类的易用性。
二、笼统
笼统的概念则是为了维护基类和办法不被随意更改的特性,给予编程者在规矩下修正办法的一种特性。
如:咱们把寄送物品笼统为一个办法。
这样真实寄送的人能够运用走路、骑自行车、搭公交车等等办法去送这件物品。java
三、承继
承继特性在实际开发也是经常运用的特性。
如上面的类:人,能够承继为:男人、女人;男人还能够承继为:男白叟、男小孩。
每一个承继的类,都是在前一个类的承继上扩展自己的特点和办法,可是所承继的类有的办法是不给修正的,除非它有笼统出办法给你自行编写。
而被承继的类咱们一般称为父类,承继的类则称为子类。理论上类与类的承继能够无限承继下去,但考虑到程序的复杂度,不建议这样编写。
四、多态
多态特性则是在编写类的时分,有些办法能够经过不同的参数完成,可是它又是同一种用途,所以办法名是相同的,而办法参数则是不同的。
如上面的寄送物品,办法都称为:寄送。在寄送的参数上,咱们能够填写自行车、公交车、地铁等等交通工具。最终成果都是把东西寄送到别人手上即可。
这个时分的多种办法,就被称为多态。
最终,学习编程不是一朝一夕的事情,看再多书都不如自己敲一遍代码,要行动起来,才能有朝一日成为编程大神。

赞(0)
未经允许不得转载:志达IT网站 » java面向对象(java面向对象的四大特征)
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

志达IT网站 每天分享编程和互联网的IT技术博客

登录/注册联系我们