比如一个对象 a ,是类 A的一个实例
另一个类 MyA,是继承自A的
问:能不能把 a 转换成 MyA的一个实例?就是相当于给 a 增加了MyA的一些方法和属性

解决方案 »

  1.   

    那你直接实例化一个myA不就可以了嘛!
    怎么会有这样的需求出来?
      

  2.   

    因为 a 是通过另外一个对象的方法返回的,这个对象是封装好了的,我没办法实例化一个MyA
      

  3.   

    没试过。不过java中是可以互相转换的,但前提是对象a必须是由子类生成的。
      

  4.   


    OOP的理念是,如果要提供给你一个功能,会给你开一个接口。(这个接口不是Interface的意思)
    没法实例化这个MyA,说明设计者没给你开这个接口,也就是说不让你这样用。要么是故意不让,要么是他设计的不对。前一种情况,考虑一下是不是不该实例化MyA,后一种情况,修改代码,或者另外写个类。
      

  5.   

    理论上不可以a是MAYA的基类,回头又要做他的子类。不可以,不过你可以用一些方法实现你想要的东西