关于何时使用构造函数,何时使用初始化函数

时间:2021-11-19 19:48:29

选择的区别,就在于

构造函数,在构造的时候,完成了对象的相关基本属性。

初始化函数,就是在构造了之后,还可以进行其他主要参数的设定。

 

构造函数,生成对象的时候,只能发生一次

初始化函数,原则上可以发生很多次。

 

举个例子,一个人,生下来,就是构造函数起了作用,比如是男是女

初始化函数好比在户口信息没有了,没有办法,到*局重新办了一个。原则上这个是可以多次办的,只要人没有死。虽然政策不允许。

 

好了下面讲讲关于,bean,dbTable,db的构造函数和初始化函数的使用。

 

他们的关系是 db->dbtable->dbbean的继承关系

关于db,很少需要重新初始化,因为,这样是没有价值的,所以,以上三个可以全部使用构造函数来进行初始化。

但是目前m_initial函数可以暂时保留,但是应该慢慢的应该全部转入构造函数处理。

其实不是慢慢转入,而是be or not to be的问题。

因为是继承关系,如果db采用的是构造函数,以上的都要采用构造函数。

 

那么,其实的选择是,在dbbean中,采用构造函数,可以完成对象初始化。

但是如果保留了m_Initial,则对象拥有了,在运行过程中变身的能力,就如孙悟空有了七十二变的能力。

可以随时将自己变为另一个人。恩,这样也行。

 

另外关于继承,如果bean继承了db的能力,意味着,可以在bean中,进行对应db数据库的任意操作,从概念而言,这个是过分的。

所以正常情况下,dbtable和db的关系应该是组合关系,dbbean和dbtable是继承,这个可以接受。

这样,可以在dbtable中进行db表操作的限制。

如果需要其他的db功能,可以由dbtable 得到一个 db的对象,然后自行扩展。这样在层次上,bean不会显露十分多的底层db的东西,虽然不多,

但是不符合逻辑