Unity-使用面向对象的思想


    在做游戏之初,老师曾经说过要用面向对象的思想去做。当时满口答应,应为学了一点C#的原因感觉面向对象很简单嘛,但是事实上在做游戏的过程中,为了赶进度我的代码写的很冗余,很乱。这就导致了我不得不重新修改。这实在是一件很痛苦的事情。所以做游戏之前先对这个游戏进行一个简单的构思是非常有必要的。

问题一:为什么要使用基类?

   我不懂为什么要写一个基类,然后让子类继承它。我感觉这和每个子类自己写脚本没有什么不同。但实际上用子类继承基类的好处是:

1.减少重复使用的代码

    比如一个打印机类,它们都有共同的属性,比如:型号,参数,重量等等。这些写在基类里面,你只需要让每个子类有自己独特的特点就够了。

2.修改时便于控制

    现在需要修改打印机的一个共有的属性。如果你是使用子类继承基类,那很方便直接修改基类就好。但如果你是使用每个打印机都有自己的脚本,那么不好意思你要一个个的去修改,十个八个没问题,一千个呢?所以这就是使用基类的好处。

问题二:子类怎么使用基类的方法?

  一般来说,一个具有重复使用性的物体都要分为数据层和逻辑层。其中逻辑层是直接挂在与其对应的物体上面的,逻辑层来引用数据层的数据。那么子类该怎么继承父类的方法呢?

我写了两个脚本,一个是DBDefence,一个是Defence。DBDefence是基类。

 

  看懂了吧,子类里面可以直接写基类里面的方法名来调用,因为子类里面如果找不到该方法时会自动的去基类里面找。这就像你爸爸的东西就是你的东西一样。。。

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM