程序员常见面试题.docx

精选 程序员常见面试题 一、 C# 1. 请解释在 new 与 override 的区别? 在 C# 中, new 关键字可用作运算符或修饰符。 new 运算符用于在堆上创建对象和调用构造函数。 new 修饰符用于隐藏基类成员的继承成员。 使用 override 修饰符来修改方法、属性、索引器或事件。重写方法提供从基类继承的 成员的新实现。 由重写声明重写的方法称为重写基方法。 重写基方法必须与重写方法具有相 同的签名。 不能重写非虚方法或静态方法。重写基方法必须是虚拟的、抽象的或重写的。 重写声明不能更改虚方法的可访问性。重写方法和虚方法必须具有相同的访问级修饰 符。不能使用下列修饰符修改重写方法: new static virtual abstract 重写属性声明必须指定 与继承属性完全相同的访问修饰符、 类型和名称, 并且重写属性必须是虚拟的、 抽象的或重 写的。 欢迎下载 精选 2. 请解释 virtual 的含义? virtual 关键字用于修改方法或属性的声明,在这种情况下,方法或属性被称作虚拟成 员。虚拟成员的实现可由派生类中的重写成员更改。 调用虚方法时, 将为重写成员检查该对象的运行时类型。 将调用大部分派生类中的该重 写成员, 如果没有派生类重写该成员, 则它可能是原始成员。 默认情况下, 方法是非虚拟的。 不能重写非虚方法。不能将 vir

文档评论(0)

1亿VIP精品文档

相关文档