项目八 第44练 类的继承《算法与程序设计--c#》(河北科学技术出版社)一课一练

| 2份
| 7页
| 66人阅读
| 0人下载

内容正文:

编写说明:考虑到中职学生普遍基础知识相对薄弱的情况,我们依据支架式教学理念,精心编制了《算法与程序设计—C#》(河北科学技术出版社)一课一练。专辑里的每一份练习,都与课堂所授知识点紧密相关,题目围绕课堂所学知识点呈现。目的在于激发学生的学习兴趣,培养他们的学习自觉性,帮助学生扎实掌握课程的基本概念与基本方法,为他们后续的进一步提升奠定坚实基础。 本卷是《算法与程序设计--c#》(河北科学技术出版社)一课一练的项目八的第2练,内容涵盖项目八子任务二 类的继承。 《算法与程序设计C#》(河北科学技术出版社)第44练 项目八 C#面向对象编程 任务二 类的继承 1、 单项选择题(本题共5小题) 1. 以下关于 C# 类继承的说法,正确的是( )。 A. 一个类可以继承多个基类 B. 继承使用implements关键字 C. 子类可以访问父类的所有成员 D. 继承可以实现代码复用 【答案】D 【解析】A 错误:C# 不支持多重继承(一个类只能有一个直接基类)。 B 错误:implements用于实现接口,继承使用:符号(如class Child : Parent)。 C 错误:子类无法访问父类的private成员。 D 正确:继承的主要目的是复用父类的代码,并扩展新功能 2.以下代码中,子类Student继承父类Person,正确的语法是( ) // 父类 class Person { } // 子类 A. class Student extends Person { } B. class Student : Person { } C. class Student implements Person { } D. class Student inherits Person { } 【答案】B 【解析】C# 使用:符号表示继承(选项 B)。extends(A)是 Java 的继承关键字,implements(C)用于实现接口,inherits(D)是VB.NET的继承关键字 3.父类中有一个protected成员,子类可以( )。 A. 直接访问该成员 B. 只能通过父类的公有方法访问 C. 无法访问该成员 D. 只有在同一命名空间时才能访问 【答案】A 【解析】protected成员可以被同一类或子类访问(无论是否在同一命名空间)。 4.以下代码的输出结果是( )。 class Animal { public void Eat() { Console.WriteLine("Animal eats."); } } class Dog : Animal { public new void Eat() { Console.WriteLine("Dog eats."); } } class Program { static void Main() { Animal animal = new Dog(); animal.Eat(); } } A. Animal eats. B. Dog eats. C. 编译错误 D. 运行时异常 【答案】A 【解析】new关键字隐藏了父类的方法,但未改变基类引用的行为。 animal是Animal类型的引用,调用的是Animal.Eat()。 若要实现多态,需在父类中使用virtual关键字,并在子类中使用override。 5. 在 C# 中,以下关于构造函数继承的说法正确的是( )。 A. 子类会自动继承父类的构造函数 B. 子类必须重写父类的构造函数 C. 子类可以通过base()调用父类的构造函数 D. 构造函数不能被继承,但可以被重写 【答案】C 【解析】A 错误:构造函数不能被继承。 B 错误:子类无需重写父类构造函数,但需在自身构造函数中显式调用父类构造函数(除非父类有无参构造函数)。 C 正确:通过base()调用父类构造函数. D 错误:构造函数不能被继承或重写,但可以重载 2、 填空题(本题共5小题) 1. 属性是对______的封装,用于控制数据的访问和修改。 【答案】字段 【解析】属性是对字段的封装,用于控制数据的访问和修改.属性(Property)是 C# 中封装字段(Field)的机制,通过get和set访问器提供安全的数据访问。 2. 访问器中用于读取值的是______,用于写入值的是______。 【答案】get set 【解析】get访问器:返回属性的值(类似方法的返回值)。 set访问器:通过隐式参数value接收外部传入的值。 3. 若要限制属性只能在类内部修改,应使用______访问修饰符修饰 set 访问器。 【答案】private 【解析】private set允许属性在类外部被读取,但只能在类内部修改。 4. 自动属性的语法省略了______,由编译器自动生成。 【答案】私有字段 【解析】自动属性的语法省略了 私有字段,由编译器自动生成 5. 在属性的 set 访问器中添加______可以验证输入值的合法性。 【答案】验证逻辑 【解析】通过在set中添加条件判断,可以防止非法数据被赋值给属性。 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 $ 编写说明:考虑到中职学生普遍基础知识相对薄弱的情况,我们依据支架式教学理念,精心编制了《算法与程序设计—C#》(河北科学技术出版社)一课一练。专辑里的每一份练习,都与课堂所授知识点紧密相关,题目围绕课堂所学知识点呈现。目的在于激发学生的学习兴趣,培养他们的学习自觉性,帮助学生扎实掌握课程的基本概念与基本方法,为他们后续的进一步提升奠定坚实基础。 本卷是《算法与程序设计--c#》(河北科学技术出版社)一课一练的项目八的第2练,内容涵盖项目八子任务二 类的继承。 《算法与程序设计C#》(河北科学技术出版社)第44练 项目八 C#面向对象编程 任务二 类的继承 1、 单项选择题(本题共5小题) 1. 以下关于 C# 类继承的说法,正确的是( )。 A. 一个类可以继承多个基类 B. 继承使用implements关键字 C. 子类可以访问父类的所有成员 D. 继承可以实现代码复用 2.以下代码中,子类Student继承父类Person,正确的语法是( ) // 父类 class Person { } // 子类 A. class Student extends Person { } B. class Student : Person { } C. class Student implements Person { } D. class Student inherits Person { } 3.父类中有一个protected成员,子类可以( )。 A. 直接访问该成员 B. 只能通过父类的公有方法访问 C. 无法访问该成员 D. 只有在同一命名空间时才能访问 4.以下代码的输出结果是( )。 class Animal { public void Eat() { Console.WriteLine("Animal eats."); } } class Dog : Animal { public new void Eat() { Console.WriteLine("Dog eats."); } } class Program { static void Main() { Animal animal = new Dog(); animal.Eat(); } } A. Animal eats. B. Dog eats. C. 编译错误 D. 运行时异常 5.在 C# 中,以下关于构造函数继承的说法正确的是( )。 A. 子类会自动继承父类的构造函数 B. 子类必须重写父类的构造函数 C. 子类可以通过base()调用父类的构造函数 D. 构造函数不能被继承,但可以被重写 2、 填空题(本题共5小题) 1. 属性是对______的封装,用于控制数据的访问和修改。 2. 访问器中用于读取值的是______,用于写入值的是______。 3. 若要限制属性只能在类内部修改,应使用______访问修饰符修饰 set 访问器。 4. 自动属性的语法省略了______,由编译器自动生成。 5. 在属性的 set 访问器中添加______可以验证输入值的合法性。 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 $

资源预览图

项目八  第44练  类的继承《算法与程序设计--c#》(河北科学技术出版社)一课一练-第1页
1

由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。