- 1、本文档共83页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
6抽象类与接口_Java.
第6 章 抽象类与接口
目 标
当完成本章后,你应该能够:
理解抽象方法
理解抽象类
从抽象类继承
理解并使用接口
实现接口
从接口继承
抽象类
从形状开始
抽象方法
抽象类
从形状开始
要开发一个图形系统
首先要定义相关的图形类
主要有:
三角形
平行四边形
矩形
正方形
… …
父类
根据继承的知识
以及形状之间的关系
设计了所有形状类的父类
类 Shape
该类的方法在继承时需要被覆盖
Shape.java
父类 Shape
未定义成员变量
成员方法如下:
public Shape();
public double getPerimeter();
public double getArea();
public void draw();
周长和面积
这是任何形状都有的属性
返回类型是 double
由于 Shape 是所有形状的父类
并不是具体的形状
那么这两个方法的方法体能否为空呢?
答案是不能为空
因为方法的返回类型是 double
这两个方法必须返回一个 double 类型的值
否则产生编译错误,不能通过编译
编译错误
把两句 return 0.0; 注释后重新编译程序
src\Shape.java:9:
缺少返回语句
}
^
src\Shape.java:13:
缺少返回语句
}
^
2 错误
子类 Triangle
设计并实现子类三角形 Triangle
Triangle.java
成员:
private double a;
private double b;
private double c;
public Triangle();
public Triangle(double a, double b, double c);
public double getPerimeter();
public double getArea();
public void draw();
子类 parallelogram
设计并实现子类平行四边形 parallelogram
Parallelogram.java
成员:
private double a;
private double b;
private double theta;
public Parallelogram();
public Parallelogram(double a, double b, double theta);
public double getA();
public double getB();
public double getPerimeter();
public double getArea();
public void draw();
Math.sin(theta)
小问题
但影响最终计算结果
经常使用角度
但该方法使用的是 弧度
角度 转换为 弧度
子类 Rectangle
设计并实现子类矩形 rectangle
Rectangle.java
该类从 Parallelogram 而非 Shape 进行继承
成员:
public Rectangle();
public Rectangle(double a, double b);
public void draw();
子类 Rectangle
构造器的编写
通过
文档评论(0)