一、面向过程的设计思想和面向对象的设计思想
1.例如:我要去新疆
(1)面向过程:
我开车,我挂档,我过河北,我过陕西...
注:对内部过程需要了如指掌。
(2)面向对象:
①我命令车去新疆
②车怎么去不关我事
*信息封装在车这个类的内部
*我不用去了解车整个开动的过程
注:不需要了解细节,只需要下一个命令。
二、对象和类的概念
注:作为面向对象的思维时,不应该再考虑第一步干嘛第二步干嘛,首先应该考虑作为问题来说在这个问题里面应该有哪些个类哪些个对象。再考虑每一种类和每一种对象应该具有哪些属性和方法,再考虑类和类之间具备哪些关系。
1.对象用计算机语言对问题域中事物的描述,对象通过“属性(attribute)”和“方法(method)”来分别对应事物所具有的静态属性和动态属性。
注:对象是这个类的具体的某一个实例。
如:杯子!
定义:可以装水的;容器;方便携带等等。
所有单方面定义杯子的定义都很容易被反驳,所以最直接的就是直接拿出实物。其中实物就是对象。
2.类是用于描述同一类型的对象的一个抽象的概念,类中定义了这一类对象所因具有的静态和动态属性。
注:类是具有共同特征的一类事物的一个抽象
3.类可以看成一类对象的模板,对象可以看成该类的一个具体事例。
注:最合适的方法应该出现在最合适的类里面。
三、类(对象)之间的关系
1.关联关系:关联关系是最弱的一种关系,两个对象之间有关系,但是关系不紧密。
2.继承关系(一般和特殊):封装了一种逻辑叫:XX是一种XX,只要能说通,就可以用继承关系来封装。
例如:学生是一个人;游泳运动员是一种运动员;
注:说不通的一般就不是继承关系,一个类很有可能从多个不同的类继承。
3.聚合关系(整体部分):一个整体和一个部分之间的关系;
封装逻辑:XX是XX的一部分,一般来说只要说通这句话就是聚合关系。
例如:球员是球队的一部分;手脚是身体的一部分;
聚合关系又分为:聚集和组合。
聚集:关系比较松
如:球队、队员、队长之间的关系
组合:必不可少的
如:人、头、身体之间的关系