面向对象的基本思想

0.随便一个物体都可以单独开一个类,new出一个对象变成它即可。在这个类里面可以完全为它一个人服务:它有什么属性,类就有什么属性,它有什么操作,类也写上相应的操作。

1.形式相似的事物(如一些狗,一些猫,一些老师,一些老虎等)抽象出一个类出来,然后将这些东西作为这个类的对象

2.一个对象可以有很多具体的信息,直接写的话太繁琐。我们可以将里面的具体信息再做封装,使得对象的数据成员就是对象,一个套一个

3.如果对象的成员是对象,那么当初始化大对象时,先调用成员对象的构造函数,再调用大对象的构造函数;当销毁大对象时,先调用大对象的析构函数,再调用小对象的析构函数。

4.如果对象的成员是对象,当小对象有人工写的构造函数时,大对象必须在构造函数里面写上初始化列表来初始化小对象,因为初始化列表是比构造函数还要早的加载的。

5.如果要创建或操作很多类似的东西(或者一个东西也行)可以创建一个新类,并把这些东西作为新类的成员,通过对象使用新类中的成员函数来操作这些东西,例如将线性表作为一个新类的成员。换句话说,操作一个东西时,可以在主函数中直接建立出来,然后再操作,但这种方法太低级了。可以把它作为一个新类的成员变量,这样不仅可以在主函数中创建很多相同的东西,还可以通过对象调用新类的函数来操作它,这种方法就高级了一些。

例子:平面上有很多条线段,两点确定一条线段,每个点还有横纵坐标的信息。如何处理和表示呢?

因此可以将线段抽象出来成为一个类line,一条线段又包含很多的信息,再将x,y坐标抽象出来成为一个点类point。利用线段包含点,点包含具体的xy坐标。

 参见项目:LineAndPoint

posted @ 2018-06-27 17:43  Jary霸  阅读(659)  评论(0编辑  收藏  举报