java飞机大战设计收获_飞机大战编写以及Java的面向对象总结

这篇博客总结了作者在编写Java飞机大战程序时的类设计经验,包括抽象类FlyingObject、接口Award和Enemy,以及Hero、Bullet、Airplane和Bee等子类的实现。强调了接口在提高程序扩展性上的作用,并介绍了ShootGame类作为应用程序逻辑的实现。作者讨论了面向对象的特性,如抽象、封装、继承和多态,并分享了面向对象编程中的常见错误和注意事项,如static关键字的使用和子类方法重写后的调用规则。
摘要由CSDN通过智能技术生成

面向对象课程完结即可编写一个简单的飞机大战程序。我觉得我需要总结一下

飞机大战中类的设计:

父类:FlyingObject(抽象类)

接口:Award 、Enemy

子类:Hero、Bullet、Airplane (实现Enemy接口)、 Bee (实现Award接口)

运行类:ShootGame

Hero、Bullet、Airplane 、 Bee 均继承自FlyingObject类,FLyingObject具有他们的公共属性以及行为,因为FlyingObject并不需要被实例化,那么大可以将之设计为抽象类。

Award、Enemy是两个接口,分别表示奖励和敌人,Award中定义了奖励类型常量和获取奖励方法,Enemy定义了获取敌机含有的分数方法。Bee、Airp继承了FlyingObject类的同时分别实现了Award、Enemy接口,让他们继承父类的同时也具有了接口中的属性方法。接口的设计提高了程序的扩展性,如果说还想添加一个大黄蜂(BigBee)类,既可以获得奖励又能获得分数,这个类继承FlyingObject在实现Award和Enemy接口即可。一个类是能继承一个父类,但可以实现多个接口,接口让程序的扩展性大大提升。是不是顿时觉得接口萌萌哒,特别好用呢。

ShootGame则是应用程序具体逻辑的实现,定义了舞台界面的属性、方法。其实质是数据的使用层,之前的几个类都是数据基础,这个类则是将数据组装。额,希望我的理解没有问题。

一个好的应用程序必定有一个好的设计,继需求分析阶段后,类和数据结构的设计同样是一个非常重要的阶段,在几次的项目实践中,我大概已经领悟到了这一点。没有好

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值