面向过程与面向对象的区别(扑克牌)举例

实验目的

通过制作扑克牌实例来比较面向对象和面向过程的区别,以及了解到面向对象的优点,下面我们将通过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

虽然看上去可能比面向过程更加的多但实际上他的封装将各个属性都很好的结合在了一起使它更加具有我们生活中的思想。这个文章主要让你感受面向对象封装的思想。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容