系列文章目录
`
- 毕业设计第三天_UML的学习(面向对象的几大要点和名称的规范)
- 毕业设计第三天_UML的学习(UML的大体描述)
- 毕业设计第四天_UML的学习(关于面向对象与面向过程的六种UML图较为详细的描述)
- 毕业设计第五天_UML的学习(关于面向对象分析和设计的一些想法和GRASP,开闭,DIP,灯原则的理解)
- 毕业设计的第六天_UML的学习(关于设计模式的一些想法)
一、关于命名规范问题
我觉得比较容易遗漏或者说我觉得很重要却很容易就遗忘的一个习惯就是命名问题,我觉得这个问题说大不大说小不小。更好的规范能够让别人舒服,也能够约束自己。
类的命名是第一个字母需要大写,操作和属性的命名需要出第一个词的第一个字母不需要大写以外都需要大写。
如类名: Students 如操作: stdNumber
二、C++里面的思想原则或者要点
1. 封装
封装就是把一个对象的属性和动作都记录在一个结构体里面,在C++说这种东西就是类。给这个类安上一个名字,这个类就叫做对象。大概的感觉就像是要做出一个人,这个人有脸也有动作。
2. 继承
爸爸生下儿子,死后继承财产,这个继承也没什么很大的区别。继承就是在一个类下面通过一定的方式衍生出一个新的类,但是这个类有一些衍生前的属性和动作。封装和继承的联系是非常紧密的。封装和继承就把面向对像的那个很重要的抽象思想给揪出来了。因为封装和继承这个两个东西,就需要人们把事物抽象出来,变成父类还是子类,哪些东西和哪些东西是同一个父类,整个类产生的框架或者说UML的类图就是通过这样子构建出来的。
3. 多态
这个东西是那时候学C++很不解的一个东西,多种状态,父类指针指向子类对象,也就死记这两句话。在子类引用父类的函数时,能够根据子类对象的不同而做出不同的反映。到后来的知道接口的时候了解多一点,做项目的时候又了解多一点。需要和封装继承一起理解。
多态:通过继承的能力,为了让同一种功能通过不同方式呈现的一种手段,同时也实现了接口的能力,便于增加功能的能力
封装,继承,多态我倾向于把这三个东西理解为手段,下面的三个我理解为内化的思想
4. 组合和聚合
当组合成的个体不存在时,被组合的各个小个体也就不存在,称为组合。当组成的大个体不存在时,被组合的小个体也依然存在,这就是聚合。比如学校和学生时聚合关系,因为学校没有了,学生还可以存活。而学校和学校里面的实验室是组合关系,学校没有了,学校里的实验室也就没有了。
5. 接口和实现
我觉得这个偏向于将整个系统封装的思想,就相当于做一个黑匣子,里面是什么东西你不需要知道,你至少要知道如何把这个匣子伸出来的接口怎么用,才可以调用这个匣子里面的功能。这就是接口的目的。
实现大概就是要描述系统里面是怎么实现这个功能的。在UML里面大概的表现就是这个接口的实现指向整个系统。
6. 抽象思维
抽象的思维就是用来做封装和继承的。根据对象的属性和动作相似性进行一定的分类能力。面向对象的重要思想,和建模有很大的联系。