第09章 抽象与接口.ppt

  1. 1、本文档共87页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
楚雄师范学院计算机科学系 java程序设计课程 Java程序设计 第9章 抽象与接口 学习目标 1.理解抽象类和抽象方法基本概念,掌握抽象类的创建方法;(重,难) 2.能使用Calender类和GregorianCalendar类处理日历; 3.理解接口基本概念及其作用,能使用接口进行程序设计;(重,难) 4.能使用Comparable接口定义自然顺序;(难) 5.能使用Cloneable接口克隆对象;(难) 学习目标 6.能使用包装类将基本类型数据值包装为对象 7.能用ArrayList实现Stack类;(重) 内容摘要 9.1 引言 9.2 抽象类 9.3 日历类Calender和公历类GregorianCalendar 9.4 接口 9.5 将基本数据类型值处理为对象 内容摘要 9.6 基本类型和包装类之间的自动转换 内容摘要 9.1 引言 9.2 抽象类 9.3 日历类Calender和公历类GregorianCalendar 9.4 接口 9.5 将基本数据类型值处理为对象 9.1 引言 在类的继承层次结构中,随着各新子类的出现,类变得越来越专门和具体.如果从一个子类上溯到父类,类就变得更一般、更通用. 有时把一个父类设计得非常抽象,以至于它没有具体的实例,这样的类称为抽象类(abstract class). 有时需要从几个类派生出一个子类,这种能力称为多重继承(multiple inheritance).然而,Java不能支持多重继承.Java的每个子 9.1 引言 类都都是仅从一个父类直接继承,这种限制称为称为单重继承(single inheritance). 如果用关键字extends定义子类,它只允许有一个父类.如果使用接口,可以得到多重继承的效果. 本章介绍抽象类和接口,并讨论如何使用基本数据类型值的包装类. 内容摘要 9.1 引言 9.2 抽象类 9.3 日历类Calender和公历类GregorianCalendar 9.4 接口 9.5 将基本数据类型值处理为对象 9.2 抽象类 在前一章中,GeometricObject类声明成Circle类和Rectangle类的父类,它模拟了几何对象的共同特征. 为了计算圆和矩形的面积和周长,Circle 和Rectangle都包含getArea()和getPerimter()方法. 因为要计算所有集合对象的面积和周长,所以,最好在GeometricObject类中声明getArea()和getPerimter()方法,但是,这些 9.2 抽象类 方法不能在GeometricObject类中实现,因为它们的实现取决于几何对象的具体类型.这样的方法称为抽象方法. 当在GeometricObject类中声明这些方法后, GeometricObject类就成为一个抽象类.新的GeometricObject类如图10-1所示.在UML图形记号中,用斜体表示抽象类及其抽象方法的名称,如图10-1所示. 9.2 抽象类 9.2 抽象类 9.2 抽象类 9.2 抽象类 9.2 抽象类 9.2 抽象类 下列给GeometricObject类新的程序清单: package ch9; public abstract class GeometricObject { private String color = white; private boolean filled; private java.util.Date dateCreated; /** 创建一个默认几何对象 */ public GeometricObject() { dateCreated = new java.util.Date(); } 9.2 抽象类 /** Return color */ public String getColor() { return color; } /** Set a new color */ public void setColor(String color) { this.color = color; } 9.2 抽象类 /** Return filled. Since filled is boolean, so, the get method name is isFilled */ public boolean isFilled() { return filled; } /** Set a new filled */ public void setFilled(boolean filled) { this.filled = fi

文档评论(0)

kehan123 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档