这几天学到了UML,再一次提到了面向对象的概念。我来总结一下,并且说一下自己的理解。有什么欠缺的地方请各位多多指点!
面向对象:
这种程序设计的思想我感觉就是让代码量减少,避免不必要的重复。数据库语言中叫做减少冗余。实际上就是提升资源的利用率。
举例:我们每天都要吃饭,吃饭用筷子。吃很多次饭要用很多次筷子,现在每吃一次就要用一双一次性的筷子(好比很多代码,用一次就不用了。而在其他的功能中又有重复的代码出现。),如果把一次性的筷子抽象出来。就像是用一双可以多次重复使用的筷子,这样就节约了资源。一双能顶很多双。只要定期的清洁(代码维护)。就可以了。——我觉得这就是抽象。
如此就增加了系统的通用性和可扩展性。事情也不在那么复杂。只有一双筷子了嘛!(同时,可重用性也大大增加!)。
面向对象概念里提到了“封装”,类,继承,多态等等!
举例:“衣服”,就是一个对象。
下面的是上面的子类,子类继承了父类的属性与方法。
周四那天,我在家里收拾东西。我看到了一件夏天的衬衣。如下:
如图所示:衣领,口袋,袖子,身儿。通过组合关系组成了一件衬衣,他们不能单独存在。部分与整体属于同一周期。然而夏季装里有:短裤、背心、衬衣等等。通过聚合关系组成。可以单独存在。有事一个整体。
这些衣服有不同的颜色,风格等属性。好比在代码中可以实现不同的功能。现在我们把每一件衣服分别叫做类、或者模块。我习惯于叫“模块”。每个模块实现不同的功能。衣服的不同组合可以让我们的穿着更加多样,在系统中,多个模块的按有意义的组合可以实现不同的功能。我记得在敲机房收费系统的时候,我将上机功能分成了7个模块。分别实现不同的小功能。
'模块一:判断卡号是否为空,判断卡号是否为数字
'模块二:判断卡号是否注册,是否已经退卡。这里先查student_Info,mrc为以后方便用。
'模块三:查BasicData_Info,判断是余额小于最小金额。
'模块四:查OnLine_Info,看该卡是否在上机
'模块五:显示该卡号信息
'模块六:更新line_Info数据
'模块七:更新OnLine_Info数据
后来在下机时,我将上机的四个模块直接拿了下来使用,然后又见了几个模块。实现了下机功能。
'模块一:判断卡号是否为空,判断卡号是否为数字
'模块二:判断卡号是否注册,是否已经退卡。这里先查student_Info,mrc为以后方便用。
'模块三:查BasicData_Info,判断是余额小于最小金额。
'模块四:查OnLine_Info,看该卡是否在上机
'模块九:获得基本表的数据
'模块十:更新学生表
'模块十二:下机显示,删除在线表的信息
'模块十一:更新上机记录表
这就好像是同一件裤子可以配多件上衣,多双鞋子。所有的衣服可以自由的组合。实现不同的风格。当然我的风格并不是很多。
周四那天,我把夏天的衣服,春秋的衣服,冬天的衣服。分别放在了三个包裹内。这叫封装!
我感觉就是这样了!请各位大神多多指点!