前面介绍了面向对象技术的两个最基本、最重要的概念——类和对象,下面介绍一下面向对象技术的设计思路。
对于初学者来说,面向对象是学习Java语言时的第一个难点,其实面向对象只是一种思考问题的方式,或者理解为组织数据和功能的方式而已,当系统中的数据和功能都实现以后,按照数据和功能的相关性进行组织。
在使用面向对象技术设计项目时,一般的步骤如下:
1、抽象类
2、抽象类的属性和方法
3、通过对象的关联构造系统
其中步骤1和2是设计需要实现的功能,步骤3更多的和业务逻辑相关,体现设计的结构不是很多。
l 抽象类
抽象类最基本的方式是——将名词转换为类。
在一个系统中会存在很多的名词,如果这些名词需要频繁的在系统中进行使用时,则可以将这些名词抽象成类,便于后续的时候。例如在一个学生成绩管理系统中,则名词:学生、课程等则可以抽象成类。
而实际在抽象时,由于有一定的主观性,所以在系统设计时,不同人设计的系统会存在一些不同。
l 抽象类的属性和方法
把系统中的类抽象出来了以后,就可以设计每个类的内部结构了,而每个类内部最重要的结构就是属性和方法了。
抽象属性最基本的方式是——将数据抽象为属性。
抽象方法最基本的方式是——将功能抽象为方法。
在一个类内部会存在很多的数据和功能,在实际抽象时,只需要抽象自己需要的数据和功能即可。例如在学生成绩管理系统中,学生的姓名、班级和各个科目的成绩都是系统中需要使用的数据,而学生的家庭住址,联系电话则不会必须的属性,可以根据实际的需要取舍数据的值。
抽象功能时,只需要把该类在系统中需要执行的动作提取出来,然后使用方法的语法进行描述即可。
当然,面向对象设计还涉及很多其它的知识,这里讲解的只是一些基础的入门知识,更多的有关面向对象的知识可以阅读关于面向对象技术的专门书籍,并且在项目开发中逐步体会这些知识。
8.5 面向对象三大特性
面向对象技术在实际开发中有很多的特性,总结起来最核心的特性主要有三个:封装、继承和多态。