重写,什么是重写?重写的意义是什么?为什么不直接在子类里面新建一个方法?
2016-01-19 16:59
344 查看
1.什么是重写?参考百度百科:方法重写
概念:
无论是在c#还是JAVA中,子类可继承父类中的方法,而不需要重新编写相同的方法。但是,在某些情况下,子类并不想原封不动地继承父类的方法,而是想做一定的修改,这时就需要采用方法的重写。
方法重写又称方法覆盖。
知识点:
①.子类可以重写父类中具有相同的方法名、返回类型和参数列表的某一方法。
②.方法重写后,子类中的新方法将覆盖原有的方法。
③.如需父类中原有的方法,可使用super关键字,该关键字表示引用当前类的父类方法。
特性或注意点:
①.发生方法重写的两个方法返回值、方法名、参数列表必须完全一致(子类重写父类的方法)
②.子类抛出异常下不能超过父类相应方法抛出的异常(子类异常不能大于父类异常)
2.重写的意义是什么?
如果明白多态的含义,就自然理解重写的含义了。
实际项目中,用得最多的的一种运行时多态,就是只知道父类(类和接口,更多的是接口)型的定义,这样只能是调用父类型的方法,这个在大型项目中很常见,主要是利于协作编程,因为父类和子类可能是由不同的人编写。
所以,如果子类重写父类的同名方法,那么只知道父类的定义就可以调用子类型的方法了,这样体现了软件复用,也有点分层的思想。
重写就是为了增强类的重用性、复用性以及扩展性。
概念:
无论是在c#还是JAVA中,子类可继承父类中的方法,而不需要重新编写相同的方法。但是,在某些情况下,子类并不想原封不动地继承父类的方法,而是想做一定的修改,这时就需要采用方法的重写。
方法重写又称方法覆盖。
知识点:
①.子类可以重写父类中具有相同的方法名、返回类型和参数列表的某一方法。
②.方法重写后,子类中的新方法将覆盖原有的方法。
③.如需父类中原有的方法,可使用super关键字,该关键字表示引用当前类的父类方法。
特性或注意点:
①.发生方法重写的两个方法返回值、方法名、参数列表必须完全一致(子类重写父类的方法)
②.子类抛出异常下不能超过父类相应方法抛出的异常(子类异常不能大于父类异常)
2.重写的意义是什么?
如果明白多态的含义,就自然理解重写的含义了。
实际项目中,用得最多的的一种运行时多态,就是只知道父类(类和接口,更多的是接口)型的定义,这样只能是调用父类型的方法,这个在大型项目中很常见,主要是利于协作编程,因为父类和子类可能是由不同的人编写。
所以,如果子类重写父类的同名方法,那么只知道父类的定义就可以调用子类型的方法了,这样体现了软件复用,也有点分层的思想。
重写就是为了增强类的重用性、复用性以及扩展性。
相关文章推荐
- python (2)xpath与定向爬虫
- 车辆管理系统(十)
- Spring4.0学习笔记006——Bean的配置(基于注解)
- Java单例模式
- fedora21 操作
- 【数据结构与算法】【算法】一些算法
- 【数据结构与算法】【算法】一些算法
- 【数据结构与算法】【算法】一些算法
- 【数据结构与算法】【算法】一些算法
- 【数据结构与算法】【算法】一些算法
- 【数据结构与算法】【算法】一些算法
- 【数据结构与算法】【算法】一些算法
- 【数据结构与算法】【算法】一些算法
- 为了使用phpthreads,在Ubuntu上重新编译php源码和phpthread源码
- HTML/Ajax/XML数据交互:HTML通过Ajax读取XML的存储信息
- FFLS
- android 开发者的个人博客集
- XUtils使用
- 生产者消费者模型
- 用时间做文件名称的格式yyyyMMddHHmmssffff