JAVA图形抽象类及其子类_Java初学 简单课件 第3章 类的封装、继承与多态.ppt

本文探讨了面向对象编程中的抽象类和抽象方法的概念。通过实例展示了如何使用抽象类来定义图形抽象,以及如何通过继承创建具体的椭圆和矩形类。抽象类作为基类,规定了子类必须实现的接口,而子类则根据自身特性实现了这些接口。此外,还提到了最终类和最终方法,它们不允许被继承或覆盖,以确保代码的稳定性和安全性。
部署运行你感兴趣的模型镜像

① 实例成员与静态成员 ② 修改实例与返回对象 ③ 日期类的设计问题讨论 ④ 类封装的优点 ①声明“图形抽象类”,约定抽象图形概念中的属性和行为,抽象类没有实力,就像画不出一种没有具体形状的图形一样。 ②声明“闭合图形抽象类”继承“图形抽象类”,增加计算周长和面积方法等。 ③声明椭圆类继承闭合图形抽象类,增加椭圆的半径属性,实现计算椭圆的周长和面积等功能。 ④声明矩形类继承闭合图形抽象类,增加矩形的长度、宽度属性,实现计算矩形的周长和面积等功能。 ①声明抽象闭合图形类ClosedFigure,其中包含perimeter()和area()抽象方法。 ②声明椭圆类Ellipse,继承ClosedFigure抽象类。 ③声明矩形类Rectangle,继承ClosedFigure抽象类。 ④抽象类的对象引用子类实例。 * * * * * * * * 1. 声明抽象类与抽象方法 抽象类—使用关键字abstract声明的类. 抽象方法—使用关键字abstract声明的成员方法. 只有方法声明而没有方法体的成员方法. public abstract class ClosedFigure //闭合图形抽象类 { public abstract double area(); //计算面积,抽象方法 } 抽象方法: 有访问修饰词、 返回值类型、方法名和 参数列表,无方法体 3.5.2 抽象类 2.抽象类的特点 ClosedFigure g=new ClosedFigure(); //语法错,抽象类不能被实例化 3.5.2 抽象类 注意: 抽象类中可以不包含抽象方法,但是包含抽象方法的类必须被声明为抽象类. 构造方法﹑静态成员方法不能被声明为抽象方法. 一个非抽象类必须实现从父类继承来的所有抽象方法,如果不能实现父类的所有抽象方法,则该类必须声明为抽象类。 抽象类不能被实例化,不能创建抽象类的实例。 3. 抽象类与抽象方法的作用 抽象类—用于描述抽象的概念,其中声明的抽象方法为多个子类 约定方法声明,每个子类可以根据自身的实际情况, 给出抽象方法的具体实现,显然不同的子类可以有不 同的方法实现。 抽象方法—用于声明方法的参数和返回值,具体实现由抽象类 的子类完成,子类必须覆盖父类的抽象方法. 提供方法声明与方法实现的分离机制,使得抽象类的多个 不同的子类能够表现出共同的行为能力. 3.5.2 抽象类 图3.11 用继承刻画多种图形间的包含关系 3.5.2 抽象类 【例3.7】 闭合图形抽象类及其子类。 ——演示抽象类与抽象方法的作用。 3.5.2 抽象类 (1)声明最终类 最终类—使用关键字final声明的类,不能被继承. 注意:抽象类不能被声明为最终类. public final class Math extends Object //数学类,最终类 public class MyMath extends Math //编译错,最终类不能被继承 3.5.3 最终类 public class Circle1 extends Ellipse //圆是一种特殊的椭圆 { private double radius; public final double area()//最终方法,不能被子类覆盖 { return Math.PI*this.radius*this.radius; } } (2)声明最终方法 最终方法—使用关键字final声明的成员方法,不能被子类覆盖. 注意:最终类中包含的都是最终方法,非最终类也可以包含最终方法. 3.5.3 最终类 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 2. 继承的作用 继承在父类与子类之间建立了联系: 子类对象即是父类对象,子类自动拥有父类的全部成员,包括成员变量和成员方法等,使父类成员得以传承和延续; 子类不能删除但可以更改从父类继承来的成员,使父类成员适应新的需求; 子类也可以增加自己的成员,使类的功能得以扩充。 3.3.2 继承原则及作用 2. 继承的作用 3.3.2 继承原则及作用 祖先类—后代类:具有继承关系的、相距多个层次的类。 父类—直接祖先类 Java只允许类之间的单继承,单继承方式下: 父类和子类是一对多的关系,由此形成具有树形结构的类的 层次体系。Java约定该

您可能感兴趣的与本文相关的镜像

Python3.10

Python3.10

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值