类中对象的类型确定:类中的成员变量的类型如何使用?何时用继承,何时用指针(引用),何时用正常的成员变量:首先所有的类型都可以看作是一个类的对象,哪怕是最最基本的int。然后通过分析这个对象与本类的关系,来决定用什么类型:
- ①【内存成员】如果是组合关系,缺一不可,缺少后本类的对象就生不出来了,那就必须用正常的占据内存的成员变量,比如人这个类中的手这个对象。
- ②【纯内部指针】如果是一对一使用关系,且共享生命周期,那么用纯指针,比如人穿的衣服这个对象(假设一个人一生就穿一件衣服),这件衣服在这个人穿的时候,其他人是无法使用这个衣服对象的,那么人这个类中的衣服对象应该用纯指针,跟随类一起析构。
- ③【智能指针】如果是一对一使用关系,但是不共享生命周期,比如人和共享自行车,首先是一对一的关系,当使用这两自行车的时候,其他人是没有办法使用的,但是又不是生命周期,本类使用完毕后,其他人还是可以用,这个时候,用智能指针。
- ④【引用】如果是一对多的使用关系(比如一些共享的数据),比如天气预报app,那所有人都可以同时进行使用,且生命周期和本类没有任何关系。哪怕没有人用,仍然可以存在,自行进行管理,可以用引用(即本类不影响app这个对象的生命周期) 。
- ⑤【不作为类内部成员】如果只是本类对象非常临时的使用(类的依赖关系),两者生命周期无关,不需要在本类的多个方法中进行调用,那么此时不需要存储成类的成员变量,直接通过类的方法的入参传入使用一下即可)。