学习笔记一、
单纯的看文字定义,”面向对象“和”类“不免有些抽象,用俄罗斯方块做例子来阐述下自己对 对象和类的理解。
从游戏画面里,有以下几种类:
1、“方块”就是一个类(暂且定义为square类),方块的左移、右移、下移、旋转都是shap类中的具体方法。
2、自己编的小游戏可在游戏界面旁,加个灵活的控制面板,来手动调节方块的位置、变形、速度之类的。像这样的控制面板也是一个类(暂且定义为panel类)
3、游戏的过程中会随机产生不同的图形,所有的图形(即“方块”square)都属于图片类,暂且把图片类成为Shape(图片集合)
4、新图形下来之后,之前已经落下的图形都可以视为是障碍物。暂且用Barrier来表示障碍物类。
如果用一句话来概括什么是类:相同属性的集合就是类!(类似于高数中对集合的理解)
上述这些类之间有这样的关系:
方块(Square类)由图形集合(Shape类)产生,控制面板(Panel)上的触发按键来控制方块的变形和移动。通过程序的内部逻辑来决定游戏的开始或停止,也会有逻辑代码对不同的类发送指令,使之显示在游戏画面上。
学习心得:
在编写程序或设计框架时,逆向分析感觉更有思路些。把事物的流程分为几部分,大体归化为几大类,这些类底下有具体的方法,逻辑代码单独放在一起,在逻辑中调用类和类中的方法,调用的过程中可能会增加一些接口设计,慢慢的框架就有了血和肉。这是我理解的面向对象的设计,由对象归化出类,类中写出对象的动作方法,逻辑代码调用类,数据流走向通顺了,简单的框架设计就有了。希望师兄师姐们多多提出宝贵意见,不断进取和完善,谢谢大家!
|
|