3.6抽象类(课件)-高二《程序设计基础》同步教学(北京出版社)

2023-08-01
| 14页
| 90人阅读
| 3人下载
普通

内容正文:

06 抽象类 学习目标 1.能够理解抽象类的含义与作用; 2.能够使用抽象类; 3.具备“无规矩不成方圆”的意识, 做一个既“循规蹈矩”又“勇于创新”的人。 一、抽象类的作用 有时在开发一些规模较大的程序系统时,会为其建立一些用户自定义的库。在自定义的库开发中,要创建一个体现某些基本行为的类,并为该类声明方法,即告诉其他程序员这个方法的名称、参数表,但并不在这里实现这个方法,取而代之,在子类中实现该方法。在子类中实现时必须按照父类中的声明方法来声明,并实现它,这就对方法的命名及参数等作了规定,对程序进行了规范。 二、定义格式 (1)抽象类的定义格式: [ public] abstract class 类名 [extends 父类名 ][implements 接口名 ]{} (2)抽象方法的定义的格式: [访问修饰符] abstract < 方法返回类型 > 方法名 ([ 形式参数表 ]) “ 三、关于子类 所有继承于 abstract 类的子类,必须实现它们父类中的所有抽象方法,否则这些子类也是抽象类。 07 多 态 学习目标 1. 能够掌握 Java 实现多态的方法; 2. 能够理解方法的覆盖,掌握覆盖的使用; 3. 能够理解方法的重载,掌握重载的使用; 4. 做一个“见风使舵,善于察言观色”的人。 一、多态 对象的多态性是指在父类中定义的属性或方法被子类继承之后,可以具有不同的数据类型或表现出不同的行为。这使得同一个属性或方法在父类及其各个子类中具有不同的语义。 在 Java 语言中,多态性体现在两个方面:由方法重载实现的静态多态性(编译时多态)和方法覆盖实现的动态多态性(运行时多态)。 (一)编译时多态 在编译阶段,具体调用哪个被重载的方法,编译器会根据参数的不同来静态确定调用相应的方法。 (二)运行时多态 由于子类继承了父类所有的属性(私有的除外),所以子类对象可以作为父类对象使用。程序中凡是使用父类对象的地方,都可以用子类对象来代替。一个对象可以通过引用子类的实例来调用子类的方法。 二、方法覆盖 方法覆盖,其实就是运行时多态。子类中的方法与它父类中的方法有相同的方法名,参数列表和返回值类型,称子类中的方法覆盖(override)父类中的方法。 从子类中调用覆盖方法时,它总是引用子类定义的方法。而父类中定义的方法将被隐藏。 标题文字添加 标题文字添加 标题文字添加 标题文字添加 标题文字添加 方法覆盖时应遵循的原则: ( 1)发生在父类和子类的同名方法之间; ( 2)两个方法的返回值类型必须相同; ( 3)两个方法的参数类型、参数个数、参数顺序必须相同; ( 4)子类方法的权限必须不小于父类方法的权限; ( 5)子类方法只能抛出父类方法声明抛出的异常或异常子类; 覆盖方法的调用原则: Java 运行时系统根据调用该方法的实例,来决定调用哪个方法。对子类的一个实例,如果子类覆盖了父类的方法,则运行时系统调用子类的方法;如果子类继承了父类的方法(未覆盖),则运行时系统调用父类的方法。注意,如果不希望子类覆盖父类的某个方法,则将父类的该方法用 final 修饰。 三、方法重载 方法重载是指同一个类中多个方法享有相同的名字,但是这些方法的参数必须不同(或者是参数的个数不同,或者是参数类型不同)。返回类型不能用来区分重载的方法。 参数类型的区分度一定要足够,例如不能是同一简单类型的参数,如 int 与 long。编译器会根据参数的个数和类型来决定当前所使用的方法。 $$

资源预览图

3.6抽象类(课件)-高二《程序设计基础》同步教学(北京出版社)
1
3.6抽象类(课件)-高二《程序设计基础》同步教学(北京出版社)
2
3.6抽象类(课件)-高二《程序设计基础》同步教学(北京出版社)
3
3.6抽象类(课件)-高二《程序设计基础》同步教学(北京出版社)
4
3.6抽象类(课件)-高二《程序设计基础》同步教学(北京出版社)
5
3.6抽象类(课件)-高二《程序设计基础》同步教学(北京出版社)
6
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。