第五题我觉得分析“指针占用的内存小”这一点,未免视野太狭隘了,只局限于对A的分析,那指针在有用的情况下不也得指向具体对象嘛,作为程序员应该考虑整个程序对内存的使用啊。 我把类A中其它部分记为C,那无指针模式的内存占用是C+B,而有指针的模式是C+B*+实例化的B,不就反而多占用了一个指针的内存空间吗。 这个问题应该从类B对类A的依附性上考虑:如果类B是一个依附于类A存在的对象,没有单独存在的意义,那就没必要用有指针模式,白消耗一个指针(例如眼睛依附于士兵存在,士兵死了眼睛也没有单独存在的意义);反之如果并没有依附关系,那就得用指针(例如武器和士兵,士兵死了武器还可以被别的士兵捡走,所以得用指针)。 反正都是OO的聚合性的应用,根据现实对象的关系来组织编程语言对象的关系。
6 1

相关推荐

牛客网
牛客企业服务