2012年1月30日

【转】virtual override new 的关系和使用

摘要: virtual关键字用于修饰方法、属性、索引器或事件声明,并使它们可以在派生类中被重写。虚拟成员的实现可由派生类中的重写成员更改,而非虚拟成员是无法由派生类进行重写的,这一点是与Java不同的。Java语言中,只要在派生类中定义了与父类具有相同签名的方法,那么父类的方法就被重写。C#语言中,必须使用virtual关键字进行修饰,否则在派生类中进行重写会导致编译器报错。虚方法或者虚属性并不等同于抽象方法、抽象属性。抽象方法和抽象属性无法直接调用,必须通过派生类进行实现之后才能调用;而虚方法和虚属性是表示在派生类中有可能进行重写的,但是如果没有重写,那么将调用父类中的该虚方法和虚属性。调用虚方法时 阅读全文

posted @ 2012-01-30 16:44 tianyaxiang 阅读(263) 评论(0) 推荐(0) 编辑

【转】树形表设计

摘要: 批量插入的3条借阅记录的batch_no都是65。之后另外一个用户租了一套碟,再插入出租记录的rent_id是68。采用这种设计,查询批量借阅的信息时,只需使用一条标准T_SQL的嵌套查询即可。当然,这种设计不符合3NF,但是和上面标准的3NF设计比起来,哪一种更好呢?答案就不用我说了吧。五、冗余数据的取舍上篇的“树型关系的数据表”中保留了一个冗余字段,这里的例子更进一步——添加了一个冗余表。先看看例子:我原先所在的公司为了解决员工的工作餐,和附近的一家小餐馆联系,每天吃饭记账,费用按人数平摊,月底由公司现金结算,每个人每个月的工作餐费从工资中扣除。当然,每天吃饭的人员和人数都不是固定的,而且 阅读全文

posted @ 2012-01-30 15:57 tianyaxiang 阅读(953) 评论(0) 推荐(0) 编辑

导航