携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第26天,点击查看活动详情
抽象
程序员开发出来的软件是需要满足用户需求的,所以程序员做分析和设计的依据是用户需求,这通常就是软件开发前期形成的“需求规格说明书”。面向对象设计时,首先要阅读用户需求,找出需求中名词部分用来确定类和拥有静态特征的属性,找出动词部分确定动态行为的方法。
首先要进行抽象,就是发现类并定义类的属性和方法。具体的步骤如下。
-
发现名词。通过阅读需求,发现需求中有类型、轿车、卡车、品牌、红旗、长城、吨位、车名、油量、车损度等名词。
-
确定类和属性。通过分析,车名、油量、车损度、品牌这些名词依附于轿车这个名词,车名、油量、车损度、吨位依附于卡车这个名词,所以可以将轿车、卡车抽象成类,依附于这些类的名词抽象成属性。需要补充一点,不是所有依附于类的名词都需要抽象成属性,因为在分析需求的过程中会发现其中某些名词不需要关注,则在抽象出类的过程中放弃这些名词,不将其抽象成属性。例如红旗、长城,这是两个轿车的品牌,属于属性值,不需要抽象成类或属性。
-
确定方法。通过分析需求的动词,发现显示车辆信息是轿车和卡车的行为,所以可以将这个行为抽象成类的方法。同样地,不是所有依附于类名词的动词都需要抽象成类的方法,只有需要参与业务处理的动词才能确定成方法。