06 2009 档案
摘要:1.关注对象原则:调用子类还是父类的方法,取决于创建的对象是子类对象还是父类对象,而不是他的应用类型。例如:Bird bird2=new Chicken()时,我们关注的是其创建的对象为Chicken类型,因此子类将继承父类的字段和方法,或者覆写父类的虚方法,而不用关注bird2的引用类型是否为Bird。引用类型的区别决定了不同的对象在方法表中不同的访问权限。2.执行就近原则对于同名字段后者方法,...
阅读全文
摘要:如果类实现两个接口,并且这两个接口包含具有相同签名的成员,那么在类中实现该成员将导致两个接口都使用该成员作为它们的实现。例如:[代码]然而,如果两个接口成员执行不同的函数,那么这可能会导致其中一个接口的实现不正确或两个接口的实现都不正确。可以显式地实现接口成员 -- 即创建一个仅通过该接口调用并且特定于该接口的类成员。这是使用接口名称和一个句点命名该类成员来实现的。例如:[代码]类成员 ICont...
阅读全文
摘要:刚看到《大话设计模式》中的讲原型模式的一个Demo,其中有将父类对象强转为子类对象,理论上是不可以的,而且我写了个Demo测试也是不可以,但是我运行书上的Demo却能跑过去,让我很不解,希望能有人帮忙解释下原由,代码贴在下面:[代码]如果我把注释部分运行起来,就会报无法将类型为“System.Object”的对象强制转换为类型。a.clone()返回的其实也是个object...
阅读全文
摘要:[代码]First class start!Second class start!Third class start!Third's destructor is calledSecond's destructor is calledFirst's destructor is called析构函数的执行过程实际是执行了Finalize方法,具体的方法实际是:protected overrid Fin...
阅读全文