欢迎来到天天文库
浏览记录
ID:39475109
大小:70.00 KB
页数:13页
时间:2019-07-04
《好用的Java面向对象总结》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Java面向对象Java是目前使用最广泛的面向对象编程语言之一。面向对象更符合人的思维模式,是人更容易编写程序。面向对象技术自上个世纪60年代诞生以来,已经走过了40多年的历程。Java面向对象有三大基本特征:封装、继承、多态。Java作为全面的面向对象的编程语言,提供了面向对象的四种基本性质:抽象性,封装性,多态性,继承性。各自定义:抽象(abstraction)抽象就是把类实体的共同特性抽象出来,封装在一个新的概念类中。所以抽象是面向对象语言基础。比如一个鸟就是一个对象,我们在研究这个对象的时候把同类放到一起,一起来考虑,而且抽象
2、的时候,只考虑一些我们感兴趣的话题,假设你是一个普通人,你关心的只是鸟类的飞行方法,鸟类吃东西的方法;假设你是一个生物学家,你可能关心的是鸟类的体重,鸟类的爪子大小,鸟类的食物等等。面向对象编程的一个实质性的要素是抽象。那么何为抽象?抽象与具体相对应。人们不会把一台电脑想象成由几万个互相独立的部分所组成的一套装置,而是把电脑想成一个具有自己独特行为的对象。这种抽象使人们可以很容易地用电脑上网打游戏,而不会因组成电脑各部分零件过于复杂而不知所措。他们可以忽略内存、硬盘、CPU的工作细节,将电脑作为一个整体来加以利用。在面向对象的计算机世
3、界中,这种细节程度就叫抽象。一个抽象的事物又可以把他细节化,例如一台汽车有音响系统,而音响系统由一台收音机、一个CD播放器、或许还有一台磁带放音机组成。我们可以这样归纳,在现实生活中,为了减少必须处理的事情,我们是在某一程度的细节中生活的,这中细节程度叫抽象。这种细节是相对的,没有绝对的抽象也没有绝对的具体正如前面所说,抽象与具体是相对应的概念(有点像相对论了~~)所以我们可以通过层级抽象对复杂的汽车(或任何另外复杂的系统)进行管理。(我们现在开始用这段话来承上启下了)复杂系统的分层抽象也能被用于计算机程序设计。传统的面向过程程序的数
4、据经过抽象可用若干个组成对象表示,程序中的过程步骤可看成是在这些对象之间进行消息收集。这样,每一个对象都有它自己的独特行为特征。你可以把这些对象当作具体的实体,让它们对告诉它们做什么事的消息作出反应。这是面向对象编程的本质。封装(Encapsulation)就是通过抽象把得到的属性和方法结合,形成一个有机的整体类。程序中使用封装限制了在类的外部直接访问类的成员。保证了类成员信息的安全性。同时也使基于面向对象思想上的程序高级访问控制成为可能。封装的目的是增强数据安全性和简化编程。封装(Encapsulation)是将代码及其处理的数据绑
5、定在一起的一种编程机制,该机制保证了程序和数据都不受外部干扰且不被误用。封装代码的好处是每个人都知道怎么访问它,但却不必考虑它的内部实现细节,也不必害怕使用不当会带来负面影响。Java封装的基本单元是类。一个类(class)定义了将被一个对象集共享的结构和行为(数据和代码)被看作是类的实例。所以,类是一种逻辑结构,而对象是真正存在的物理实体。当创建一个类时,你要指定组成那个类的代码和数据。从总体上讲,这些元素都被称为该类的成员(members)。具体地说,类定义的数据称为成员变量或实例变量。操作数据的代码称为成员方法(memberme
6、thods)或简称方法(methods)。Java程序员所称的方法,就是C/C++程序员所称的函数(function)。在完全用Java编写的程序中,方法定义如何使用成员变量。既然类的目的是封装复杂性,在类的内部就应该有隐藏实现复杂性机制。类中的每个方法或变量都可以被标记为私有(private)或公共(public)。类的公共接口代表类的外部用户需要知道或可以知道的每件事情;私有方法和数据仅能被一个类的成员代码所访问,其他任何不是类的成员的代码都不能访问私有的方法或变量。既然类的私有成员仅能被程序中的其他部分通过该类的公共方法访问,那
7、么就能保证不希望发生的事情就一定不会发生。当然,公共接口应该小心仔细设计,不要过多暴露类的内部内容。继承(Inheritance)是一个对象获得另一个对象的属性的过程。继承很重要,因为它支持了按层分类的概念。如前面提到的,大多数知识都可以按层级(即从上到下)分类管理。使用了继承,一个对象就只需定义使它在所属类中独一无二的属性即可,因为它可以从它的父类那儿继承所有的通用属性。所以,可以这样说,正是继承机制使一个对象成为一个更具通用类的一个特定实例成为可能。我们可以举例来说,动物——哺乳动物——兔子这是一个层级结构。我们说哺乳类动物是动物
8、的子类(subclass),而动物是哺乳动物的超类(superclass)。由于哺乳动物类是需要更加精确定义的动物,所以它可以从动物类继承所有的属性。一个深度继承的子类继承了类层级中它的每个祖先的所有属性。继承性与封装性
此文档下载收益归作者所有