选择的区别,就在于
构造函数,在构造的时候,完成了对象的相关基本属性。
初始化函数,就是在构造了之后,还可以进行其他主要参数的设定。
构造函数,生成对象的时候,只能发生一次
初始化函数,原则上可以发生很多次。
举个例子,一个人,生下来,就是构造函数起了作用,比如是男是女
初始化函数好比在户口信息没有了,没有办法,到*局重新办了一个。原则上这个是可以多次办的,只要人没有死。虽然政策不允许。
好了下面讲讲关于,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的东西,虽然不多,
但是不符合逻辑