实验目的
通过制作扑克牌实例来比较面向对象和面向过程的区别,以及了解到面向对象的优点,下面我们将通过Java这门语言来体现二者的区别,并实现扑克牌实例。
扑克牌制作的要求
制作一副扑克牌要求接收两张牌并比较他们的大小。
制作过程
面向过程
如果是面向过程的话,我的思维逻辑是比较混乱的,其实也很容易理清
1.首先制作一副扑克牌
2.在一副扑克牌中抽两张牌
3.将两张牌进行比较输出结果
当然这些在面向过程中你是很难实现逻辑的清楚,就拿这次举例在面向过程的扑克牌中你怎么将扑克牌的属性都放在一起呢,他们怎么会有关联呢,而且面向过程代码会有很低的代码复用率,你几乎每实现一个代码就会有一个方法,有些方法功能相同确只好再写一遍。
概括的来说,面向过程很难体现出属性之间的关联,代码的复用率过低,导致代码很冗杂
这是代码块
其实不用看 这个就是面向过程

屏幕截图 2022-05-13 125401.png

屏幕截图 2022-05-13 125520.png

屏幕截图 2022-05-13 125631.png
面向对象
1.先进行设计

屏幕截图 2022-05-13 131619.png
进行一下解释首先我们要有一副牌,一副牌又有很多张牌组成,一张牌有数字和花色(suit)而一张牌应该具有和其他牌比较的方法即Compare,当然我们还要进行对一副牌的管理,比如发牌洗牌这里暂时没有实现只是发给你两张牌。所以这个manager是非常有必要的。
1.PokerNumber

屏幕截图 2022-05-13 132110.png
2.PokerSuit

屏幕截图 2022-05-13 132209.png
3.Poker

屏幕截图 2022-05-13 132349.png
4.PokerManager

屏幕截图 2022-05-13 132605.png
5.测试类

image.png