当前位置:首页 > Windows程序 > 正文

C# 继承实现父类方法、重写、重载

2021-05-25 Windows程序

继承是派生类(子类)去实现(重写<override>、重构<new>)基类(父类)的方法或属性。从而获取在派生类中要实现的功能。
子类调用父类构造方法,,在父类中有个实现姓名和年龄的构造方法但是中子类也要实现这样的功能这时子类不用再次去写这个功能只要去调用父类的功能即可。 

public class Person { private string _name = null; private int _age = 0; public Person(string name, int age)//父类的构造方法 { this._name = name;//获得参数的值 this._age = age; Console.WriteLine("您的姓名是{0},您的年龄是{1}.", this._name, this._age); } } public class Studnet : Person { private int _id; public Studnet(string name, int age, int IDCard):base(name,age) //子类构造方法继承父类构造方 //把接受到的name、age两个参数交给父类的构造方法去处理 { this._id = IDCard; Console.WriteLine("您的身份证号码为{0}",this._id); } } class Program { static void Main(string[] args)//主函数 { Studnet stu = new Studnet("benshou", 12, 99999); Console.ReadLine(); } }

实现效果 

您的姓名是benshou,您的年龄是12.
您的身份证号码为99999
在C#中定义了,子类去调用父类的方法时,会先去执行父类的方法之后再去执行子类的方法

还是以子类继承父类,现在是子类实现父类的重写和重载
重写只是对方法里面的功能实现重新做的了编写,并没有对方法的参数进行添加、改变、删除
重载则是对方法参数的个数、位置、参数类型进行了改变。
重写ShowME方法 

public class Person { public virtual void ShowME(string name,string school,string Class) { Console.WriteLine("我在{0}学习",Class); Console.WriteLine("我叫{0}.我毕业与{1}",name,school); } } public class Studnet : Person { public override void ShowME(string name,string school, string Class) //重写了父类的ShowME方法 { Console.WriteLine("姓名{0}\n毕业学校{1}\n曾读班级{2}", name,school,Class); } } } class Program { static void Main(string[] args)//主函数 { Student stu = new Studnet(); stu.ShowME("benshou","浙江金融职业学院","电子商务(7)班"); Console.ReadLine(); } }

实现效果
姓名benshou
毕业学校浙江金融职业学院
曾读班级电子商务(7)班
重写的父类方法时,必须指明被重写的方法是虚方法(virtual关键字)。在子类重写父类方法时必须有重写关键字(override)这样才能重写父类的方法

重载ShowME方法

public class Person { public void ShowME(string name,string school,string Class) { Console.WriteLine("我在{0}学习",Class); Console.WriteLine("我叫{0}.我毕业与{1}",name,school); } } public class Studnet : Person { public new void ShowME(string name) { Console.WriteLine("姓名{0}",name); } } class Program { static void Main(string[] args)//主函数 { Studnet stu = new Studnet(); stu.ShowME("benshou"); Console.ReadLine(); } }

温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/71141.html