| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Java知识库 -> JavaOOP学习(第六天) -> 正文阅读 |
|
[Java知识库]JavaOOP学习(第六天) |
首先,我没想到我连标题都能打错,真是不好意思。本人以后会多加注意这些问题(话说健忘这种问题怎么可能解决啊喂 [○・`Д′・ ○] )。前两天双休日,所以为什么没有更新大家懂的都懂,不懂得也不给你说,哼╭(╯^╰)╮。 直接上今天的笔记: 抽象与接口: 一到了面向对象的学习阶段,任务凸的一下就重了起来,原本一个包就可以解决的问题,现在竟然要10个包o(╥﹏╥)o。不信?,不信有图: 一天的练习让我对这一章节印象十分深刻,难以磨灭。我永远不会忘了,我和室友鏖战到12点,我都不知道明天自己在课上是否会眼皮打架 (T _T)。 这些面向对象的题解法不难但是其中的类与接口过于繁杂,反正肯定不能像以前一样一个类的代码直接 c+v了,所以从今天起这类型的题会调几道我觉得比较有代表性的题进行展示,这些题可能少也可能多,这个量由我发博客的时间决定(再哭一次),毕竟不能耽搁了正事嘛~,这些题我会分享一些思路,希望能帮到因为被困在这些抽象概念,所以来CSDN加强学习的小伙伴。 1. 按如下要求编写Java应用程序: (1)编写一个用于表示战斗能力的接口Fightable,该接口包含:整型常量MAX;方法void win(),用于描述战斗者获胜后的行为;方法int injure(int x),用于描述战斗者受伤后的行为。 (2)编写一个非抽象的战士类Warrior,实现接口Fightable。该类中包含两个整型变量:经验值experience和血液值blood。当战士获胜后经验值会增加,而受伤后血液值会减少x,并且当战斗者的血液值低于MAX时会输出危险提示。 (3)编写战士类Warrior的子类BloodWarrior,该类创建的战士在血液值低于MAX/2时才会输出危险提示。 (4)编写主类TestWarrior,对上述接口和类进行测试。 ?先分析题目 题中有明显诉求,第一点要求:接口(Fightable)*1,常量*(MAX)1,未实现方法*2(win方法,injure方法)有第一条我们可以得出一下的代码:
?做完以上操作后我们往下继续看 非抽象类*1(Warrior) 变量*2(experience,blood) 以及实现接口并实现方法*2,得出以下代码:
以上方法中的逻辑代码以及返回值全都可以根据题目中的要求得出。 接下来,子类*1(BloodWarrior) 以及一个自己独有的方法(危险提示),得出以下代码:
在子类独有的方法中加入逻辑使其具有功能性。 最后来到Tset类进行测试:
其中简单的逻辑不在赘述,在这个只调用子类是因为父类无法实现子类中的方法,因为前边要求父类是个非抽象类,所以在这里只能调用子类。 走完上边的流程会得到如下的执行过程: 因为本人设置一次只掉2滴血,所以结果很长,大概有这么长长长长。开个玩笑,这个题目主要体现的是接口的规范性以及继承的复用性以及简洁性,子类与父类同用方法与变量,却只定义一次就行 这就省了很多麻烦了。 时间不早了,今天的文章应该就到这里结束了,希望可以通过这些笔记和我的思路能够帮助更多需要帮助的人。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 5:40:40- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |