A.4.2-虚函数 virtual 和多态的实现
ylbtech- .NET-Basic: A.4.2-虚函数 virtual 和多态的实现 |
A.4.2-虚函数 virtual 和多态的实现;
虚函数(virtual):主要目的就是为了让子类重写,这样的方法可以有方法体
abstract
子类的重写格式 :
override 返回类型 方法名()
1.A,运行效果图返回顶部 |
A.1,Person.cs
View Code
using System; namespace 继承_虚函数 { class Person { int id; string name; string sex; public Person() { this.id = 1000; this.name = "x'y"; this.sex = "女"; } public Person(int id, string name, string sex) { this.id = id; this.name = name; this.sex = sex; } //函数加virtual修饰,希望子类重写该虚函数 public virtual void Show() { Console.WriteLine("编号:{0}",id); Console.WriteLine("姓名:{0}",name); Console.WriteLine("性别:{0}",sex); } public int Id { get { return id; } set { id = value; } } public string Name { get { return name; } set { name = value; } } public string Sex { get { return sex; } set { sex = value; } } } }
A.2,Student.cs
View Code
using System; namespace 继承_虚函数 { class Student:Person { string grade; public Student() : base() { this.grade = "1期"; } public Student(int id, string name, string sex, string grade) : base(id, name, sex) { this.grade = grade; } //override:覆盖 public override void Show() { base.Show(); Console.WriteLine("学期:{0}",grade); } public string Grade { get { return grade; } set { grade = value; } } } }
A.3,Teacher.cs
View Code
using System; namespace 继承_虚函数 { class Teacher:Person { string zhuanYe; public Teacher() : base() { this.zhuanYe = "计算机专业"; } public Teacher(int id, string name, string sex, string zhuanYe) : base(id, name, sex) { this.zhuanYe = zhuanYe; } public string ZhuanYe { get { return zhuanYe; } set { zhuanYe = value; } } } }
作者:ylbtech 出处:http://ylbtech.cnblogs.com/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 |