1. 1、本文档共41页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
封装与继

抽象类 以下代码有什么问题? Java中使用抽象类,限制实例化 Pet pet = new Pet (贝贝,20,40); pet.print(); 实例化Pet没有意义 public abstract class Pet { } 抽象方法 以下代码有什么问题? abstract也可用于方法——抽象方法 抽象方法没有方法体 抽象方法必须在抽象类里 抽象方法必须在子类中被实现,除非子类是抽象类 public abstract void print(); 没有方法体 public abstract class Pet { public void print() { //… } } 每个子类的实现不同 指导——抽象Pet类2-1 训练要点: 抽象类的定义和继承 抽象方法定义和重写 需求说明: 修改Pet类为抽象类 修改Pet类的print()方法为抽象方法 输出Dog信息 讲解需求说明 指导——抽象Pet类2-2 实现思路 修改Pet类为抽象类,修改print()为抽象方法 Dog类继承Pet类,实现print()方法 运行测试 注释掉Dog类中print()方法,运行测试类查看错误信息 编写注释 final用法 Penguin类不希望再被其他类继承? 使用final类 方法不希望被重写? 使用final方法 属性值不希望被修改? 使用final方法 public final class Penguin extends Pet { //… } 最终版的类 public final void print () { //… } 最终版的方法 public class Penguin { final String home =南极;// 居住地 public void setHome(String name){ this.home=home; //错误,home不可以再次赋值 } } 最终版的属性值 常见错误 请指出下面代码的错误 class Dog { String name; public Dog(String name) { this.name = name; } } class Test { public static void main(String[] args) { final Dog dog = new Dog(欧欧); dog.name = 美美; dog = new Dog(亚亚); } } 使用final修饰引用型变量,变量不可以再指向另外的对象 使用final修饰引用型变量,变量的值是固定不变的,而变量所指向的对象的属性值是可变的 综合案例 某汽车租赁公司出租多种车辆,车型及租金情况如下: 编写程序实现计算租赁价 轿车 客车(金杯、金龙) 车型 别克商务舱GL8 宝马550i 别克林荫大道 =16座 16座 日租费 (元/天) 600 500 300 800 1500 综合案例分析2-1 发现类 发现类的属性 综合案例分析2-2 发现类的方法 优化设计 编写程序入口 练习——编写MotoVehicle、Car、Bus类 需求说明: 根据分析编写MotoVehicle、Car、Bus类 练习——编写测试代码运行 需求说明: 编写测试代码运行 * a * a * a * a * * * * 封装与继承 知识回顾 课程项目 电子宠物系统 主人登录 领养宠物 给宠物喂食 与宠物游戏 给宠物看病 显示主人信息 显示宠物信息 本章任务 用类图描述电子宠物系统的设计 编写代码实现领养宠物功能 一个现实世界的问题 宠物——现实世界的对象 如何在计算机中描述它? 从现实中抽象出类分三步: 1. 找出它的种类 2. 找出它的属性 3. 找出它的行为 用面向对象描述世界3-1 用面向对象的思想描述世界 第一步:发现类 根据“对象”抽象出“类” class Dog { } 名词 各个狗对象 用面向对象描述世界3-2 第二步:发现类的属性 狗类共有的特征: 1. 品种 2. 年龄 3. 昵称 4. 健康情况 5. 跟主人的亲密度 … … class Dog { String name = 旺财; // 昵称 int health = 100; // 健康值 int love = 0; // 亲密度 String strain = 拉布拉多犬; //

文档评论(0)

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

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

1亿VIP精品文档

相关文档