Billpeng Space

技术源自生活
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2009年3月14日

摘要: 当基类中有一个方法 private virtual int xx (int a){ return a + 1} 子类中如果用new如:private new int xx (int a){ return a + 2},则可以隐藏基中的虚函数。此时如果此时调用子类中的xx(1)方法,结果为2。但此时如果在子类中其实依然可以用base.xx(1)来调用基类的xx方法 子类中如果用override... 阅读全文

posted @ 2009-03-14 00:58 billpeng 阅读(168) 评论(0) 推荐(0) 编辑

摘要: 忽然之间,我今天突然想明白了,就以上这个功能实现来说,的确两种方法的结果是一样的,似乎直接调用b_RenChenged()方法比用自定义事件要简单。 但是,我认为区别就在于:当Price属性get的时候,是由谁来指定使用b_RenChenged()方法的? 如果说,整个代码只由一个人来写,不考虑其他因素,上面当然可以直接调用b_RenChenged()方法。 但如果,写Book类的人是Mr.A,而负责写Page_Load代码的人是Mr.B。Mr.A只管设计当Price属性被get的时候,能触发一个事件,事件具体是做什么他不管。而Mr.B只需要了解,当get Price的时候执行什么方法,而不去管其内在的实现(就比如,我们常用的 protected void Button1_Click(object sender, EventArgs e)只管用,不用了解它是如何工作的) 这样一来,似乎一切就很明白了,他们最主要的区别除了文章开始时提到的一些之外,就是触发事件人的不同有了分工。希望可以给像我一样,分不清两者关系的人,一些帮助。 阅读全文

posted @ 2009-03-14 00:51 billpeng 阅读(510) 评论(0) 推荐(0) 编辑