Unity-使用面向对象的思想

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

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

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

1.减少重复使用的代码

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

2.修改时便于控制

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

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

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

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

 

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

 

posted @ 2015-09-07 14:19  蜀云泉  阅读(2469)  评论(0编辑  收藏  举报