1. sealed——“断子绝孙” 密封类不能被继承.密封方法可以重写基类中的方法,但其本身不能在任何派生类中进一步重写.当应用于 方法或属性时,sealed修饰符必须始终与override一起使用. 即:密封类不会有子类,所以是“断子绝孙”. 2. new——“你是你的,我是我的” new关键字用于显式隐藏从基类继承的成员.也就是在使用派生类时调用的方式方法是new关键字新定义出 来的方法,而不是基类的方法. 在不使用new修饰符的情况下隐藏成员是允许的,但会生成警告.使用new显式隐藏成员会…
1. sealed——“断子绝孙” 密封类不能被继承.密封方法可以重写基类中的方法,但其本身不能在任何派生类中进一步重写.当应用于方法或属性时,sealed修饰符必须始终与override一起使用. 即:密封类不会有子类,所以是“断子绝孙”. 2. new——“你是我的,我是我的” new关键字用于显式隐藏从基类继承的成员.也就是在使用派生类时调用的方式方法是new关键字新定义出来的方法,而不是基类的方法. 在不使用new修饰符的情况下隐藏成员是允许的,但会生成警告.使用new显式隐藏成员会取消…
本文大部分内容摘自  <.NET开发专家·亮剑.NET : .NET深入体验与实战精要> 博主只是搬运工,不喜勿喷. 关于虚方法,抽象类这一部分一直不是太清楚,目前的工作中也接触不到这些. 前几天下载了一本书,发现写的很形象,让我豁然开朗. 整理一下,再打一遍,加深理解,也帮助更多的初学者了解这部分知识. 1. sealed —— "断子绝孙" 密封类不能被继承. 密封方法可以重写基类中的方法.但其本身不能在任何派生类中进一步重写. 当应用于方法或属性时,scaled 修饰…
virtual是把一个方法声明为虚方法,使派生类可重写此方法,一般建立的方法是不能够重写的,譬如类A中有个方法protected void method(){ 原代码....;}类B继承自类A,类B能够调用类A的method()方法,但不能更改方法体代码,但当类A中使用了virtual声明此方法: protected virtual void method(),那么类B可通过使用override重写此方法protected override void method(){ 新代码....;}vir…
1. sealed——“断子绝孙” 密封类不能被继承.密封方法可以重写基类中的方法,但其本身不能在任何派生类中进一步重写.当应用于方法或属性时,sealed修饰符必须始终与override一起使用. 即:密封类不会有子类,所以是“断子绝孙”. 2. new——“你是我的,我是我的” new关键字用于显式隐藏从基类继承的成员.也就是在使用派生类时调用的方式方法是new关键字新定义出来的方法,而不是基类的方法. 在不使用new修饰符的情况下隐藏成员是允许的,但会生成警告.使用new显式隐藏成员会取消…
abstract修饰类名为抽象类,修饰方法为抽象方法.如果一个类为抽象类,则这个类智能是其他某个类的基类.抽象方法在抽象类中没有函数体.抽象类中的抽象方法是没有方法体的,继承其的子类必须实现抽象类的抽象方法. 抽象类有如下特征: 抽象类不能实例化 抽象类的派生类必须实现所有抽象方法 抽象类中的抽象方法是没有方法体的,继承其的子类必须实现抽象类的抽象方法 抽象方法: 抽象方法是隐式的虚方法 只允许在抽象类中使用抽象方法声明 抽象方法在抽象类中没有方法体 在抽象方法声明中,不能使用static或者v…
abstract     修饰类名为抽象类,修饰方法为抽象方法.如果一个类为抽象类,则这个类智能是其他某个类的基类.抽象方法在抽象类中没有函数体.抽象类中的抽象方法是没有方法体的,继承其的子类必须实现抽象类的抽象方法. 抽象类有如下特征: 抽象类不能实例化 抽象类的派生类必须实现所有抽象方法 抽象类中的抽象方法是没有方法体的,继承其的子类必须实现抽象类的抽象方法   抽象方法: 抽象方法是隐式的虚方法 只允许在抽象类中使用抽象方法声明 抽象方法在抽象类中没有方法体 在抽象方法声明中,不能使用st…
原文地址:http://blog.csdn.net/richerg85/article/details/7407544 abstract      修饰类名为抽象类,修饰方法为抽象方法.如果一个类为抽象类,则这个类智能是其他某个类的基类.抽象方法在抽象类中没有函数体.抽象类中的抽象方法是没有方法体的,继承其的子类必须实现抽象类的抽象方法. 抽象类有如下特征: 抽象类不能实例化 抽象类的派生类必须实现所有抽象方法 抽象类中的抽象方法是没有方法体的,继承其的子类必须实现抽象类的抽象方法   抽象方法…
1.Vitual方法和普通方法区别为:继承其的子类可以用override/new在重载此方法,也可以不重载其方法,有方法体(可以写语句),override修饰则调用子类方法2.abstract类中抽象方法无方法体(只有名称).普通方法(静态方法,无修饰的方法,Virtual方法)可以有方法体,其他类的基类,继承其的子类必须实现所有抽象方法3.abstract类无法实例化,可以继承接口4.抽象方法是隐式的虚方法,可以被基类修饰为virtual方法5.抽象方法只能在抽象类中,可以被override,…
virtual:使用此关键字,可以使其在派生类中被重写. abstract:抽象方法,由子类重写,或继续为抽象方法存在,并由其子子类实现. override: 重写父类方法,属性,或事件的抽象实现或虚方法. new:显式隐藏从父类继承的成员. 后台代码: public abstract class Animal { public abstract void Eat(); public virtual void Sleep() { HttpContext.Current.Response.Writ…