Public abstract void Eat(); Public void Sleep() { }
}
a. 该段代码正确
b. 代码错误,因为类中存在非抽象方法 c. 代码错误,因为类中的方法没有实现
d. 通过代码“Animal an = new Animal();”可以创建一个Animal对象 16.在c#中,关于继承和接口,以下说法正确的是() (单选)b a. c#允许许多接口实现,也允许多重继承 b.c#允许多接口实现,但不允许多重继承 c.c#不允许多接口实现,但允许多重继承 d.c#不允许多重接口实现,也不允许多重继承
17. 在C#中,已知下列代码的运行结果是“老虎吃动物”,请问在空白处1和空白处2 分别应该填写的代码是() c
//在用父类声明,子类构造时,隐藏方法和重写方法的区别 Public class Animal {
Public 空白处1 void Eat() {
Consone.WriteLine(“我要吃”);
} }
Public class Tiger:Animal {
Public 空白处2 void Eat() {
Consone.WriteLine(“老虎吃动物”);
}
Public calssTest {
Static void Main() {
Animal an = new Tiger(); an.Eat;
} } }
a) Virtual , new
b) override , virtual c) virtual , override d) new , virtual
18. 在C#中,下列关于抽象类和接口的说法,正确的是)()(选择一项)b a) 在抽象类中,所有的方法都是抽象方法
b) 继承自抽象类的子类必须实现起父类(抽象类)中的所有抽象方法 c) 在接口中,可以有方法实现,在抽象类中不能有方法实现 d) 一个类可以从多个接口继承,也可以从多个抽象类继承 19. 关于以下C#代码的说法正确的是() b Public abstract class Animal{ Public abstract void Eat(); }
Public class Tiger:Animal{
Public override void Eat(){
Console.WriteLine(“老虎吃动物”);
} }
Public class Tigress:Tiger{ Static void main(){
Tigress tiger=new Tigress();
Tiger.Eat(); } }
a. 代码正确,但没有输出
b. 代码正确,并且输出为”老虎吃动物”;
c. 代码错误,因为Tigress类没有实现抽象基类Animal中的抽象方法 d. 代码错误,因为抽象基类Animal的Eat方法没有实现
20. 在c#中 某程序员定义了一个IDataBase接口,以及实现该接口的类CDataBase ,下列关于该段代码
说法正确的是()(选择一项) d public interface IDataBase
}
public void UpdataTable(string tableName) {
Console.WriteLine(\更新数据表\
{ }
public class CDataBase:IDataBase {
public void OpenTable(string tableName) {
Console.WriteLine(\打开数据表\void OpenTable(string tableName); void UpDataTable(string tableName);
}
static void Main() { } }
CDataBase db = new CDataBase(); db.OpenTable(\
a)该段代码错误,因为在定义接口时,接口中的方法没有提供实现
b)该段代码错误,因为接口中声明的方法不是公有的,应此在CDataBase类中不能访问接口中的方法 c)该段代码正确,同时由于客户没有调用UpdataTable方法,可以把CDataTable类中的UpdataTable去掉,代码仍然正确
d)该段代码正确,但是如果在IDataBase 接口中声明一个方法void Execute(string sql); 则必须在CDataBase中实现该方法
21.c#中 下列代码运行结果是()(选择一项) a
public class Student{
}
public class Undergraduate:Student{
}
public class Test{ }
a)学生都要考试
b)大学生有选择考试科目的权利 c)大学生都要考试
大学生有选择考试科目的权利 d)学生都要考试 学生都要考试
22.c#中 下列代码的运行结果是()(选择一项) a
struct Student{ public int age; public string name;
public Student(int age,string name){
this.age=age;
}
static void Main() {
Student stu = new Undergraduate(); stu.Exam();
public new void Exam(){ }
base.Exam();//调用基类中变量和方法
Console.WriteLine(\大学生有选择考试科目的权利\public virtual void Exam(){ }
Console.WriteLine(\学生都要考试\
} }
this.name=name;
public class Test{ static void Mian(){ } }
a)18 小方 b)18 小燕 c)30 小燕 d)30 小方
Student stu1= new Student(18,\小方\Student stu2= new Student(24,\小刚\stu2=stu1; stu1.age=30; stu1.name=\小燕\
Console.WriteLine(stu2.age); Console.WriteLine(st2.name);
23.在C#中,下列()关键字用于重写基类的虚拟方法。(选择一项) a
a)override b)new c)base d)virtual
相关推荐: