打字猴:1.700415755e+09
1700415755 UML被广泛地应用于绘制面向对象编程的设计图,那么只要了解了UML中仅有的这九种图的作用就可以从宏观的角度把握并理解面向对象编程思想了。
1700415756
1700415757 图7.4中有一个UML类图的示例。
1700415758
1700415759 图7.4 UML类图的示例
1700415760
1700415761
1700415762
1700415763
1700415764 图中所画的类表示的正是前面代码清单7.2中的类MyClass。将一个矩形分为上中下三栏,在上面的一栏中写入类名,中间一栏列出变量(在UML中称为“属性”),在下面的一栏中列出函数(在UML中称为“行为”或“操作”)
1700415765
1700415766 在进行面向对象编程的设计时,要在一开始就把所需要的类确定下来,然后再在每个类中列举出该类应该具有的函数和变量,而不要到了后面才把零散的函数和变量组织到类中。也就是说,要一边观察作为程序参照物的现实世界,一边思考待解决的问题是由哪些事物(类)构成的。正因为在设计时要去关注对象,这种编程方法才被称为面向对象编程(Object Oriented Programming,其中的Oriented就是关注的意思)。而在那些传统的开发方法中,进行程序设计则是要先考虑程序应该由什么样的功能和数据来构成,然后立即确定与之相应的函数和变量。与此相对的面向对象编程的设计中,因为一上来就要确定有哪些类,从而构成程序的函数和变量就必然会被组织到类中
1700415767
1700415768
1700415769
1700415770
1700415771 计算机是怎样跑起来的 [:1700412688]
1700415772 计算机是怎样跑起来的 7.8 观点6:面向对象编程通过在对象间传递消息驱动程序
1700415773
1700415774 假设要编写这样一个程序,玩家A和玩家B玩石头剪刀布,由裁判判定输赢。如果使用作为非面向对象编程语言的C语言编写,程序就会像代码清单7.3中那样;如果使用作为面向对象编程语言的C++编写,程序就会代码清单7.4中那样,能看出其中的差异吗?
1700415775
1700415776 代码清单7.3 未使用面向对象编程语言的情况(C语言)
1700415777
1700415778 /*玩家A确定手势*/
1700415779
1700415780 a=GetHand();
1700415781
1700415782 /*玩家B确定手势*/
1700415783
1700415784 b=GetHand();
1700415785
1700415786 /*判定胜负*/
1700415787
1700415788 winner=GetWinner(a,b);
1700415789
1700415790 代码清单7.4 使用了面向编程语言的情况(C++)
1700415791
1700415792 //玩家A确定手势
1700415793
1700415794 a=PlayerA.GetHand();
1700415795
1700415796 //玩家B确定手势
1700415797
1700415798 b=PlayerB.GetHand();
1700415799
1700415800 //由裁判判定胜负
1700415801
1700415802 Winner=Judge.GetWinner(a,b);
1700415803
1700415804 在C语言的代码中,仅仅使用了GetHand()和GetWinner()这种独立存在的函数。与此相对在C++的代码中,因为函数是隶属于某个类的,所以要使用PlayerA.GetHand()这样的语法,表示属于类PlayerA的函数GetHand()
[ 上一页 ]  [ :1.700415755e+09 ]  [ 下一页 ]