知识点归纳:类的继承、方法的重载与重写、多态、封装等
分析:
需要加载图片、画图,创建一个画板,主页面,行星类
效果图:
![faf010789ac0ca3e3f046619c33b8b4d.png](https://i-blog.csdnimg.cn/blog_migrate/1831e8ef5cfff0d72d75904b67b43c02.jpeg)
源码结构图:
小编整理了一份java学习资料,私信回复【01】,获取源码。
![d5e1f53edab37c46ae20a17b19a73807.png](https://i-blog.csdnimg.cn/blog_migrate/1a793ea138bf4c72ee4ff4ea08be0bf6.jpeg)
![b9ae70549b1f6a6e1277fdc70b3db325.png](https://i-blog.csdnimg.cn/blog_migrate/1915764d334e5ebbdecde1584f36b9e2.jpeg)
各个类的功能分析:
1、工具类-----util包中
--Constant类 封装了游戏中用到的常量 --GameUtil类 封装了游戏的图片加载功能 --MyFrame类 封装了游戏面板的构造,用于各面板的父类 ------之所以这样做,目的是为了封装数据,便于程序的扩充
Constant.java
![6c7f85e670bc6064c260fc8e856fcf03.png](https://i-blog.csdnimg.cn/blog_migrate/c88264b4ee3bb424a41f03700bae025f.jpeg)
GameUtil.java
![d9b17e2590f0eaeb91fd9a0bfe46085b.png](https://i-blog.csdnimg.cn/blog_migrate/f412579b721005d31313d2ace2fa28ee.jpeg)
MyFrame.java
![f6705509b1f98cd96fcb69cb78c1384d.png](https://i-blog.csdnimg.cn/blog_migrate/68d207ba4e00ee31fb2d773081a89d9a.jpeg)
2、主要的事件处理类---solar包中
--Planet类 行星类继承至Star类
--SolarFrame类 游戏主面板类继承至MyFrame类 --Star类 星球类,各个星球的父类 --Test类 测试类,不需要说明
Planet.java
![ca8b0a6ca49386de225c80394a955b45.png](https://i-blog.csdnimg.cn/blog_migrate/318cc92f0a99bda06fbd6b5d45099e0e.jpeg)
![5f8f2386abd9f8c91acd8bec9a6e4054.png](https://i-blog.csdnimg.cn/blog_migrate/1765b80dd03857034826f2310241b3b7.jpeg)
SolarFrame.java
![6b397d8dbfdeb44c7423231786e3fbfd.png](https://i-blog.csdnimg.cn/blog_migrate/d9908002512b9ce5fd99f193e592c907.jpeg)
Star.java
![31bcf0e8ba3e6f4e69647443f290d7b7.png](https://i-blog.csdnimg.cn/blog_migrate/5457d37b7038b7cf69ad31e3804a3ff1.jpeg)
小编总结:该小游戏对代码的封装处理的比较好,便于程序的扩充,体现了面向对象的强大,不同的功能封装在不同的类与方法中,把类的公共的部分封装在父类中,提高代码的重用性。前期各个类写的过程中会有各种小问题与细节,但处理完这些后,后期想扩充行星的个数就比较简单了,new一个行星对象,然后画的面板上即可。但是想要学懂面向对象,还需继续钻研哦~
![4fee83657a1db147c008c3e257523cc1.png](https://i-blog.csdnimg.cn/blog_migrate/56e3a63ff847334935aebaafdbe78c20.jpeg)
声明:本文内容来源于网络,如有侵权请联系删除