下载此文档

第4章 面向对象基础(中)课件.ppt


文档分类:IT计算机 | 页数:约50页 举报非法文档有奖
1/50
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/50 下载此文档
文档列表 文档介绍
第4章面向对象基础(中)*第4章面向对象程序设计(中):在面向对象编程里,可以根据已定义的类定义一个新类,从而实现代码的复用。其中,被继承的类称父类,由继承而得到的类称子类。子类具有父类的成员(属性和方法),同时也可以修改父类的属性或重写父类的方法,并增加新的属性和方法。。这种关系也叫做“is”关系: classAextendsB, A(子类)isaB(父类)例:classEmployee{ publicStringname=“”; publicdoublesalary; publicDatebirthDate; publicStringgetDetails(){…}}lassManagerextendsEmployee{publicStringname=“”;publicdoublesalary;publicDatebirthDate;publicStringdepartment;publicStringgetDetails(){…}}要在以前的类的基础上构造新类,必须在新类的声明中扩展以前的类,通过扩展一个超类,可以得到这个类的一个备份,并在这个基础上,添加新的属性和方法。如果对新类不作任何添加工作,那它的工作情况会与超类完全相同。新类中会含有超类所声明或继承的所有属性和方法。在类的继承中会有以下一些细节问题应注意:(1)通过类的继承可以简化类的定义。(2)java只支持单继承,不允许多重继承。在 java中,一个子类只能由一个父类,但一 个类可以被多个类继承。(3)可以有多层继承,即一个类可以继承某一 个类的子类,即间接继承。如:classA{ }ClassBextendsA{}ClassCextendsB{}(4)子类继承父类的所有成员变量和成员方法,但不继承父类的构造方法,在子类的构造方法中,可以使用语句super(参数列表)调用父类的构造方法。如:我们为Manager类增加一个构造方法,在这个构造方法中用super明确指定调用父类的某个构造方法。classManagerextendsEmployee{ publicManager(Stringname,intage,pany) { super(name,age);pany; } }(5)如果子类构造方法中没有显式调用父类的构造方法,也没有使用this关键字调用重载的本类的其它构造方法,则在产生子类的实例对象时,系统默认调用父类无参的构造方法。在下面的类B中,定义的构造方法中,写不写super()语句的效果是一样的。classBextendsA{publicB(){super();}}(1)分配成员变量的存贮空间并进行默认的初始化,就是用new关键字产生对象后,对类中的成员变量按系统默认的值进行初始化赋值。 对象中的成员变量的初始化是按下述步骤进行的:(2)绑定构造方法,就是用new(实参列表)所传递进的参数赋值给构造方法中的形式参数。(3)如果有this调用,则调用相应的重载构造方法(被调用的重载构造方法又从步骤2开始执行这些流程),被调用的重载构造方法的执行流程结束后,回到当前构造方法,当前构造方法直接跳转到(6)去执行。(4)显式或隐式追溯调用父类的构造方法(一直到Object类为止,Object类是所有java类的最顶层父类),父类的构造方法又从步骤(2)开始对父类执行这些流程,父类的构造方法的执行流程结束后,回到当前构造方法,当前构造方法继续往下执行。(5)进行实例变量的显式初始化,也就是执行在定义成员变量时就对其进行的赋值语句,如:classManagerextendsEmployee{pany=“sun公司”;......}(6)执行当前构造方法体中的程序代码,如:

第4章 面向对象基础(中)课件 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数50
  • 收藏数0 收藏
  • 顶次数0
  • 上传人feng1964101
  • 文件大小175 KB
  • 时间2020-07-14