ID: 17899013

中职语文出版社《面向对象程序设计C#》单元9 ATM系统员工管理模块教案

日期:2026-02-10 科目: 类型:教案 查看:73次 大小:40280B 来源:二一课件通
预览图 1/4
中职,语文,出版社,面向对象程序设计C#,单元,ATM
  • cover
单元9 ATM系统员工管理模块 课 时 本章目标: 理解继承的概念 了解继承中的构造函数 掌握base和protected关键字的语法 掌握密封类的语法 理解多态的概念 本章重点: 掌握base和protected关键字的语法 掌握密封类的语法 本章难点: 理解多态的概念 内容讲解: 结构体 1、知识点引入 继承在生活中常常可以看见,以前古代的皇帝传位的时候,一定要有自己血缘的才能继承。在软件开发过程中,经常会碰到这样的问题,以前开发的软件或者某个功能,在后来的开发中又需要重新编写,做重复的事情,降低了开发的效率。为了提高软件模块的可重用性,提高软件的开发效率,总是希望能够利用前人或自己以前的开发成果。C#这种面向对象的程序设计语言为我们提供了一个重要的特性———继承性(inheritance)。 2、知识点 继承是面向对象程序设计的主要特征之一,是类之间一种从属关系。分为父类和子类,子类也叫派生类。子类继承父类中的方法、成员、属性等。继承语法: class 类名:父类类名 { } 例如:创建一个人类,该类中有姓名和年龄及成员方法Speak()中输出“你好,我是张三,很高兴认识你” using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace InheritanceDemo { //定义Person类,包含两个公开成员变量 class Person { public int age; public string name; public void Speak() { Console.WriteLine("你好,我是{0},很高兴认识你!",this.name); } } //定义Student类,Student类继承了Person类; class Student : Person { //新添加的成员变量stuid,Student类就有了三个成员变量 public int stuid; //新添加的成员方法Study(),加上继承的Speak(),共两个方法 public void Study() { Console.WriteLine("好好学习,天天向上!"); } } class Program { static void Main(string[] args) { Student stu = new Student(); stu.stuid = 1; stu.name = "姚明"; stu.age = 24; stu.Speak(); //调用Student对象的Study()方法 stu.Study(); } } } 但是要注意的是继承是单一的,只能有一个父类,student就不能继承其他类,但是父类可以有许多子类 那对于父类中的构造方法能不能继承。构造函数是不能被继承的。构造方法是用于初始化成员,但是可以通过调用父类的构造方法给子类的成员赋值,关键字为base,我们来看个例子: using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace InheritanceDemo { class Person { public int age; public string name; public Person() { Console.WriteLine("我是父类无参构造方法"); } } //Student类继承了Person类,没有提供构造方法 class Student : Person { public int stuid; } class Program { static void Main(string[] args) { //实例化子类对象,调用子类构造方法,会自动调用父类无参构造方法 Student stu = new Student(); } } } 对于base来说,只能基于类、成员都是公共的,也就是被public修饰,子类才能继承,其他任何一类也可以访问,并不利于保护成员,如果被私有private修饰,子类就不能访问。所以为了防止这种情况,c#提供了另外一个修饰符protected。允许子类访问,但是其他类能不访问 比如:namespace InheritanceDemo { class Person { public int age; public string name; public Person(int Age, string Name) { this.age = Age; this.name = Name; Console.WriteLine("我是父类带参数构造方法!"); } //把SayHello()方法的访问修饰符修改为protected protected void SayHello() { Console.WriteLine("你好,很高兴认识你!"); } class Student : Person { public int stuid; public Stu ... ...

~~ 您好,已阅读到文档的结尾了 ~~