覆盖方法和重载方法
1.覆盖方法的作用
就是说,父类中定义了一个方法,但是子类继承之后对这个方法产生了特殊的需求,需要对这个方法进行一些修改,那么就可以在子类中定义一个同名的方法覆盖掉之前父类中的方法。注意,覆盖方法时函数的形参和返回值都不能变化,不管是数量还是类型都不能变。
2.重载方法的作用
与函数的重载是一样的概念。一个类中可以有几个同名的方法,但这些方法的参数不一样。重载并不是一个面向对象的特征。
3.注意几点
- 要区分好重载和覆盖的区别。
- 永远不要重载从基类继承过来的方法! 如果要使用覆盖,一定注意要把参数和返回值写成一样的。
提一个问题,**如果基类里面已经有好几个重载的方法,是不是也可以在子类里面一一覆盖呢?**我认为是可以的。
4.一个小技巧
在main函数中我们不实例化对象是没法调用类中的方法的。但是在类内部是可以通过 :: 操作符直接调用类方法的。