找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2663|回复: 12

一步一步教你如何用C#编写面向对象代码

 火.. [复制链接]
  • 打卡等级:即来则安
  • 打卡总天数:27
  • 打卡月天数:6
  • 打卡总奖励:7736
  • 最近打卡:2025-12-20 00:35:11

3317

主题

285

回帖

2万

积分

管理员

积分
23881
发表于 2021-2-16 22:43:48 | 显示全部楼层 |阅读模式
今天再次演练,让大家尽可能熟悉并熟练面向对象代码的编写思路和方法。
今天以汉服的“形制”为例子,演练怎么编写汉服的面向对象代码。本文出现的中文编码是为了让您看起来方便,您实际业务编写时不宜使用中文。

一、构思
您的构思,可以来自于UML图,也可以来自于纸张随意绘制,也可以来自你的思维灵感图,看您喜欢,层次关系您需要确定清楚。
下图是关于“汉服形制”的思维导图。





1.形制的继承关系如上图,树形结构清晰,就不再废话了。
2.每个形制,都跟朝代有关。
3.每个形制,都可以配一些外套。
科普一下,有些人对汉服不了解,汉服的外观设计我们称之为形制。顺便说下,本人下半生,为神族汉服复兴而努力。
二、编码前的话




我由于事先已经对汉服形制有所研究,所以已经构思了它的继承关系。
关于是否需要UML,以及需要到多细致的程度,由您自己决定,通常,我仅设计大方向,它有助于我掌握全局。对于里面的方法定义、属性定义、关系定义等,我个人则思考不是那么细致。
什么时候思考这些东西呢?是我在编码的时候思考的。
这是本人的面向对象思维习惯,您可参考,不一定要照搬。
一旦您有了整体框架构思,你要去编码的时候,就已经非常快速了。下面请继续看。
三、开始编码:先写出基本框架代码
我们先写出形制的继承关系:




再写出朝代和外套的继承关系:








好的,这样,我们就把整体结构定下来了。
对于这样的代码编写思路,我相信您一定没有问题。
四、开始编码:写出逻辑管理类
创建汉服类,汉服是由形制、朝代、外套共同组成,所以方便起见,我们直接写在构造函数中:




创建汉服管理类,管理一般会查找功能:




好的,下面我们就写一个汉服创建者,也就是生成器的类:




不知道有没有嗅觉灵敏的读者发现,其实编写代码,是有套路的,无外乎就是先主体,然后管理类,再然后驱动器类,最后加上关系操作控制类。
五、重构
您会看到上述的代码,都是具体实现。我曾经说过,所有的类,不论你是抽象类还是具体类,都是具体实现,我们需要抽象为顶级抽象,即接口。




如上图,您编辑->重构->提取接口,或者按快捷键即可。以形制为例:




之后,您需要修改之前所有地方使用到的具体类,改为接口依赖或者关联,即可。

您学到了吗?

祝您用餐愉快。

工控课堂 www.gkket.com

0

主题

175

回帖

390

积分

注册会员

积分
390
发表于 2021-2-17 00:51:02 | 显示全部楼层
强烈支持楼主ing……
工控课堂 www.gkket.com

0

主题

89

回帖

270

积分

注册会员

积分
270
发表于 2021-2-17 18:09:36 | 显示全部楼层
好东西一定要看看!
工控课堂 www.gkket.com

0

主题

97

回帖

323

积分

注册会员

积分
323
发表于 2025-11-17 03:38:40 | 显示全部楼层
内容太顶了!疯狂点赞,已默默收藏~
工控课堂 www.gkket.com

0

主题

59

回帖

345

积分

注册会员

积分
345
发表于 2025-11-17 06:53:13 | 显示全部楼层
同款经历!我当初也这么过来的😂
工控课堂 www.gkket.com

0

主题

62

回帖

84

积分

新手上路

积分
84
发表于 2025-11-17 07:49:29 | 显示全部楼层
浅评一下:内容优质,值得推荐~
工控课堂 www.gkket.com

0

主题

80

回帖

111

积分

新手上路

积分
111
发表于 2025-11-17 08:05:35 | 显示全部楼层
占个楼慢慢看,先马克一下
楼主辛苦啦,期待下一篇分享
工控课堂 www.gkket.com

0

主题

118

回帖

407

积分

注册会员

积分
407
发表于 2025-11-17 08:20:29 | 显示全部楼层
学到干货了,感谢分享,已火速收藏
工控课堂 www.gkket.com

0

主题

94

回帖

142

积分

新手上路

积分
142
发表于 2025-11-17 08:21:36 | 显示全部楼层
蹲一波同款,有没有小伙伴推荐?
工控课堂 www.gkket.com

0

主题

80

回帖

116

积分

新手上路

积分
116
发表于 2025-11-17 08:21:55 | 显示全部楼层
路过混个脸熟,顺便为优质内容打 call~
工控课堂 www.gkket.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|手机版|免责声明|本站介绍|工控课堂 ( 沪ICP备20008691号-1 )

GMT+8, 2025-12-22 12:37 , Processed in 0.081510 second(s), 26 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表