8.1 抽象和封装
面向对象设计首先要做的就是抽象。根据用户的业务需求抽象出类,并关注这些类的属性和方法,将现实世界中的对象抽象成程序设计中的类。
类抽象
程序员开发出来的软件是需要满足用户需求的,所以程序员做分析和设计的依据是用户需求,通常是软件开发前期形成的“需求规格说明书”。面向对象设计时,首先要阅读用户需求,找出需求中名词部分用来确定类和属性,找出动词部分确定方法。
首先要进行类抽象,就是发现类并定义类的属性和方法。具体的步骤如下。
-
发现名词。
-
确定类和属性。
-
确定方法。
类封装
类抽象的目的在于抽象出类,并确定属性和方法,而接下来的类封装,则要在封装的角度隐藏类的属性,提供公有的方法来访问这些属性。
最简单的操作方法就是,把所有的属性都设置为私有属性(表示私有属性和方法时,需在类图中的属性和方法前加上“-”号),每个私有属性都提供getter和setter公有的方法(表示公有属性和方法时,需在类图中的属性和方法前加上“+”号)。
8.2 继承
在面向对象的程序设计中,继承是一个不可分割的重要组成部分,没有使用继承的程序设计,就不能称为面向对象的程序设计。
继承的概念
Java继承是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的属性或新的方法,也可以用已存在的类的属性和方法。这种技术能够非常容易地复