欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

Java的面向对象编程

来源:本站整理 作者:佚名 时间:2016-11-07 TAG: 我要投稿

什么是面向对象
在目前的软件开发领域有两种主流的开发方法,分别是结构化开发方法和面向对象开发方法。早期的编程语言如C、Basic、Pascal等都是结构化编程语言,随着软件开发技术的逐渐发展,人们发现面向对象可以提供更好的可重用性、可扩展性和可维护性,于是催生了大量的面向对象的编程语言,如C++、Java、C#和Ruby等。
面向对象程序设计即OOP,是Object-Oriented Programming的缩写。面向对象编程技术是一种起源于20世纪60年代的Simula语言,其自身理论已经十分完善,并被多种面向对象程序设计语言(Object-Oriented Programming Langunianling,OOPL)实现。由于很多原因,国内大部分程序设计人员并没有很深的OOP以及OOPL理论,很多人从一开始学习到工作很多年都只是接触到C/C++、Java等静态类型语言,而对纯粹的OOP思想以及动态类型语言知之甚少。
对象的产生通常基于两种基本方式,分别是以原型对象为基础产生新对象和以类为基础产生新对象。
1.基于原型
原型模型是以一个有代表性的对象为基础来产生各种新的对象,并由此继续产生更符合实际应用的对象。而原型—委托也是OOP中的对象抽象,是代码共享机制中的一种。
2.基于类
一个类提供了一个或多个对象的通用性描叙。从形式化的观点看,类与类型有关,因此,一个类相当于是从该类中产生的实例的集合。
Java的面向对象编程
面向对象编程方法学是Java编程的指导思想。在使用Java进行编程时,应该首先利用对象建模技术(OMT)来分析目标问题,抽象出相关对象的共性,对它们进行分类,并分析各类之间的关系;然后再用类来描述同一类对象,归纳出类之间的关系。Coad和Yourdon在对象建模技术、面向对象编程和知识库系统的基础之上设计了一整套面向对象的方法,具体来说分为面向对象分析(OOA)和面向对象设计(OOD)。对象建模技术、面向对象分析和面向对象设计共同构成了系统设计的过程,如图1所示。

图1 系统设计处理流程
UML统一建模语言
在进行对象建模、面向对象分析和设计的过程中,需要使用建模语言来描述分析的过程和结果。统一建模语言即UML,是Unified Modeling Langunianling的缩写。UML是为了实现上述目标而设计的一种标准通用的设计语言。
1.UML图的类型
UML为我们提供了多种类型的模型描述图,当在某种给定的方法学中使用这些图时,人们就能更容易理解和交流设计思想。UML图可以分为如下3种类型。
(1)静态图。
静态图即Static Diagram,其功能是描述了不发生任何变化的软件元素的逻辑结构,描绘了类、对象和数据结构及其存在于它们之间的关系。
(2)动态图。
动态图即Dynamic Diagram,其功能是展示软件实体在运行期间的的变化,主要描绘了执行流程、实体改变状态的方式。
(3)物理图。
物理图即Physical Diagram,其功能是显示软件实体不变化的物理结构,主要用来描绘库文件、字节文件和数据文件等,以及存在于它们之间的相互关系。
2.类图和对象图
在Java中,通常使用类图和对象图来表示项目内程序类的结构和各元素间的对应关系。在下面的内容中,将简要介绍类图和对象图的基本知识。
(1)类图。
类图表示不同的实体间的相互关系,显示了系统的静态结构。类图可用于表示逻辑类,逻辑类通常是指事物的种类,比如球队、电影之类的抽象描述。类图还可以用于表示实现类,实现类就是程序员要编写的类。实现类图与逻辑类图可能会用来描述一些相同的类。然而,实现类图与逻辑类图不会使用相同的描述属性。
类图通常用矩形表示,并在矩形内将类分为3个部分。其中最上面的部分显示类的名称,中间部分显示类的属性,最下面的部分显示类的方法,例如图2所示的格式。

图2 典型类图结构
注意
在现实应用中,最常用、最简单的类图就是一个在里面显示了类名的长方形。在大多数的UML中,多数类只要有一个能够清楚表达的命名就可以了。
在类名部分还可以显示类的构造类型,类的构造型在双角括符号“« »”之间指定,并放在类的名称上面。常见的构造类型包括如下3类。
实现类:直接显示类的名称。
接口:在类名上方的双角括符号“« »”内显示。
工具类:在类名上方的双角括符号“« »”内显示。
如果类名用斜体表示,或者在类名下面,则表示这个类是一个抽象类。
在属性和方法的前面可以用修饰符“+”或“-”,其功能是表示属性或方法的作用域,具体说明如下所示。
修饰符“-”:表示属性或方法是私有的(private)。
修饰符“#”:表示属性或方法是保护的(protected)。
修饰符“+”:表示属性或方法是公用的(public)。
通常在类的属性或方法参数名称的冒号后,显示了属性的类型或方法的参数的类型。方法的返回值类型显示在方法后面的冒号之后。
例如图3显示了一个Lei类的类图结构。

图3 Lei类的类图结构
(2)对象图。
对象图的功能是用来表示类的实例化对象。通常用一个两层的矩形结构来表示对象图,其中上层标识对象名和类名,下层标识对象的实例化属性值。例如在下面的代码中,创建了一个Lei类的对象mm。
Lei mm = new Lei("mm", 'F', 24);
上述mm对象的对象图如图4所示。

[1] [2] [3] [4] [5]  下一页

【声明】:黑吧安全网(http://www.myhack58.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载