重载:在一个类中允许重命名方法,允许定义多个重名的方法.当两个方法的方法名相同,但是参数不同时,或者参数个数不同,或者参数顺序不同,或者参数类型不同,那么我们就把这样的方法称为方法重载.
函数重载的三个特征:
a.函数在同一个类当中
b.函数的函数名相同
c.函数的参数不同
string test() { Console.WriteLine("Hello world"); //也可以这样用:test("Hello world"); } string test(string msg) { Console.WriteLine(msg); }
覆写override:当子类的方法与父类的方法完全一样时,这样的两个方法我们称为覆写,是针对有继承关系的类与类之间进行方法的覆写,即子类覆写父类中的方法,当子类覆写父类中的某个方法时,其修饰符必须是子类权限大于或等于父类权限.但是父类的构造方法不能被子类覆写,通过覆写可以改变已有程序的功能,可以展现出多种不同的状态,从而能体现程序的多态性,能让程序功能更加个性化.
覆写override(对父类的函数不满意的,在子类中重新写):
1.在具有(父子关系的两个子类)当中
2、父类和子类各有一个函数,这两个函数的定义(返回值类型、函数名和参数列表)完全相同
如果子类只是在父类增加了一些方法,可以用super.XXX()调用父类的成员函数XXX。
1、super(); this();
调用父类构造函数 调用本类构造函数
super.XXX(); this.XXX();
调用父类的成员函数 调用本类成员函数
与重载不同:
重载是在(一个类里)面函数名相同,参数列表不同
复写是父子两个类中两个函数的定义(返回值类型、函数名和参数列表)完全相同
重载和覆写都是针对方法而言的.
继承extends:
1、共同的代码(变量,函数)放到父类,减少类定义的重复代码
2、extend代表扩展,子类可以添加自己的成员变量、函数