java面向对象(多态-示例)
时间:2014-07-22 21:57 来源: 我爱IT技术网 作者:山风
java面向对象(多态-示例)
- //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- abstract class Student
- {
- abstract void study();
- void sleep()
- {
- System.out.println("躺着睡");
- }
- }
- /*
- 工具类的由来:
- 1.对象不一样,但调用方法一样,所以单独做一个方法。
- 2.干脆指挥所有学生
- 3.将DoStudent封装成对象,主函数只需调用。
- */
- class DoStudent
- {
- void doSome(Student stu)
- {
- stu.study();
- stu.sleep();
- }
- }
- //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- class BaseStudent extends Student
- {
- void study()
- {
- System.out.println("base study");
- }
- void sleep() //复写sleep方法
- {
- System.out.println("坐着睡");
- }
- }
- class AdvStudent extends Student
- {
- void study()
- {
- System.out.println("adv study");
- }
- //sleep方法是共性方法,不用定义,直接调用即可。
- }
- //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- //主函数是最终调用者,客户端
- class Test
- {
- public static void main(String[] args)
- {
- /*
- BaseStudent bs=new BaseStudent();
- bs.study();
- bs.sleep();
- AdvStudent as=new AdvStudent();
- as.study();
- as.sleep();
- */
- DoStudent ds=new DoStudent();
- ds.doSome(new BaseStudent());
- ds.doSome(new AdvStudent());
- }
- }
总结:多态的出现减少了代码重用性.
子类继承父类,2个子类建立对象,实现的方法一样,会操作很多遍.
在建立一个类,操作父类,把方法封装起来,参数传子类.这样很方便,可以少写很多代码.
本文来源 我爱IT技术网 http://www.52ij.com/jishu/5652.html 转载请保留链接。
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
