- 1、本文档共18页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[java阶段项目-A
动物特性的面向对象描述 T21班阶段项目 问题描述 动物特性描述 狗生活在陆地上(是一种陆生动物),既是哺乳类的也是肉食性的。狗通常的时候和人打招呼会通过“摇摇尾巴”,在被抚摸感到舒服的时候,会“旺旺叫”,而在受到惊吓情绪烦躁时,会发出“呜呜”声; 猫也生活在陆地上(是一种陆生动物),既是哺乳类的也是肉食性的。猫通常的时候和人打招呼会发出“喵~”的声音,在被抚摸情绪很好时,会发出“咕噜咕噜”声,而在受到惊吓时,会发出“嘶嘶”声; 青蛙是一种两栖动物(既是水生动物也是陆生动物),既不是哺乳类的也不是肉食性的,属于卵生。当青蛙情绪好的时候,会在岸边“呱呱呱”的唱歌,而在受到惊吓时,会“扑通一声跳入水中”; 问题分析 首先需要抽取问题描述中对象 分析每个对象所具有的特征 分析每个对象所发出的动作 从这些对象的特征中,抽取类的属性和方法 分析类之间的关系,画出类结构图 分析-1 抽象类和对象的基本方法: 对象--名词 例如:在句子“小猫喵喵叫”中,我们能够确定一个对象:猫; 方法--动词 例如:“旺旺叫”、“喵喵叫”都属于对象发出的动作; 属性或者特征--形容词 例如:“哺乳性的”“肉食性的”“卵生的”等等; “是”的关系--继承 例如:狗是一种动物,意味着:“狗”类 继承自“动物”类; “有”的关系--类的属性 例如:动物都有情绪,意味着:“情绪”是“动物”类的一个属性; 第一步 哺乳类和肉食类,情绪是动物类所拥有的特性,设为受保护的。 在子类中打招呼的方式不同所以重写父类的方法,在这里可以将父类的打招呼方式设为抽象类,这样子类就不会忘记有这个方法。 狗,猫,青蛙分别继承父类 打招呼的方式处理(其它为通常,1为被抚摸,2为受惊吓) 第二步 改进第二步:为什么加name?为什么把getMammalAndCarnivorous()提到父类? 情绪值现在是123能不能直观点? 用静态常量来处理,可以脱离于类的实例直接调用 第三步:考虑到水生和陆生的问题 这里比较特别,青蛙是两栖动物,那么既有水生的特点又有陆生动物的特点,虽然Java只支持从一个父类继承,但它使用接口的方式支持多重继承。用interface关键字定义接口。 定义一个水生的接口 定义一个陆生的接口 根据不同的动物去实现接口 狗和猫只实现水生 青蛙实现水生和陆生 接口里写什么呢?只能写常量的定义或方法声明。 陆生:腿的数量getNumberOfLegs( ) 水生:有腮,产卵hasGills( ) laysEggs( ) 实现类具体实现接口中的方法。 测试类中调用。 提问: 具体讲解每个类和接口的属性和方法,要说明为什么。 说明numberOfLegs为什么不能在LandAnimal中定义。 说明Dog、Cat、Frog类的构造函数完成什么功能。 说明Animal类的属性变量的访问修饰符应该为protected Java用关键字_____指明一个类从另一个继承。 所有的动物都以自己独特的打招呼方式,所以它们都需要____父类sayHello方法。因为每种动物说“hello”的方式都不同,所以我们在基类中将sayHello方法声明为____的.这就迫使Animal的每一个子类____sayHello方法。 提问: Java提供了四种不同的作用范围:public, package, protected, 和 private。任何类、方法或者成员变量都能通过使用public, protected, 和 private关键字来显式的加以保护。任何类,方法,或者成员变量如果没有使用上面的关键字都将被隐式的给与package的作用范围。在此这两个属性用protected修饰,表示_____________________________________________. 代码改进 因为Animal类中mammal 和 carnivorous 属性值都是 true,所以Dog和Cat类用不着重新为这两个属性赋值,而Frog类需要为这两个属性重新赋值,通过构造函数完成。 知识点考察 通过本次项目案例练习了面向对象的Java实现,基本囊括了面向对象的三大特征:封装、继承、多态 巩固的知识点 Java基本的程序结构; 类和对象; 类的封装,包括修饰符的使用(private/public/protected); 抽象类、抽象方法(abstract关键字); final关键字; 类的继承(extends关
您可能关注的文档
- [重庆市渝溪产业.doc
- [重庆市科学技术协会西信科协申请评审书样书.doc
- [重庆师范大学单项奖学金评定细则.doc
- [重庆师范大学教育硕士考研难度大不大.doc
- [重庆广播电视大学毕业实习考核表.doc
- [重庆建筑安装市政装饰工程一类二类类别划分标准.doc
- [重庆户外运动发展对策研究.docx
- [重庆新房装修公司.doc
- [重庆旅游职业学院2014年招生专业介绍.doc
- [重庆旅游职业学院2016年招生专业介绍.doc
- 2025年广西中考地理二轮复习:专题四+人地协调观+课件.pptx
- 2025年广西中考地理二轮复习:专题三+综合思维+课件.pptx
- 2025年中考地理一轮教材梳理:第4讲+天气与气候.pptx
- 第5讲+世界的居民课件+2025年中考地理一轮教材梳理(商务星球版).pptx
- 冀教版一年级上册数学精品教学课件 第1单元 熟悉的数与加减法 1.1.6 认识1-9 第6课时 合与分.ppt
- 2025年中考一轮道德与法治复习课件:坚持宪法至上.pptx
- 2025年河北省中考一轮道德与法治复习课件:崇尚法治精神.pptx
- 八年级下册第二单元+理解权利义务+课件-2025年吉林省中考道德与法治一轮复习.pptx
- 精品解析:湖南省娄底市2019-2020学年八年级(上)期中考试物理试题(原卷版).doc
- 2025年中考地理一轮教材梳理:第10讲+中国的疆域与人口.pptx
文档评论(0)