本视频是解读性视频,所以希望您已经看过了本知识点的内容,并且编写了相应的代码之后,带着疑问来观看,这样收获才多。 不建议一开始就观看视频
![]() 13分20秒 本视频采用html5方式播放,如无法正常播放,请将浏览器升级至最新版本,推荐火狐,chrome,360浏览器。 如果装有迅雷,播放视频呈现直接下载状态,请调整 迅雷系统设置-基本设置-启动-监视全部浏览器 (去掉这个选项)。 chrome 的 视频下载插件会影响播放,如 IDM 等,请关闭或者切换其他浏览器 步骤 1 : UML 图 —— 类之间的关系 步骤 2 : 解释UML-类图 步骤 3 : 解释UML-接口图 步骤 4 : 解释UML-继承关系 步骤 5 : 解释UML-实现关系 步骤 6 : 练习-Animal类 步骤 7 : 答案-Animal类 步骤 8 : 练习-Spider类 步骤 9 : 答案-Spider类 步骤 10 : 练习-Pet接口 步骤 11 : 答案-Pet接口 步骤 12 : 练习-Cat类 步骤 13 : 答案-Cat类 步骤 14 : 练习-Fish类 步骤 15 : 答案-Fish类
UML-Unified Module Language
统一建模语言,可以很方便的用于描述类的属性,方法,以及类和类之间的关系
带箭头的实线,表示 Spider,Cat, Fish都继承于Animal这个父类.
注: 模糊是表示,此时不需要关注模糊的那部分内容。 请不要再发图片是模糊的纠正信息了,站长特意这么做的。。。
表示 Fish实现了 Pet这个接口
1. 创建Animal类,它是所有动物的抽象父类。
2. 声明一个受保护的整数类型属性legs,它记录动物的腿的数目。 3. 定义一个受保护的构造器,用来初始化legs属性。 4. 声明抽象方法eat。 5. 声明具体方法walk来打印动物是如何行走的(包括腿的数目)。
1. Spider继承Animal类。
2. 定义默认构造器,它调用父类构造器来指明所有蜘蛛都是8条腿。 3. 实现eat方法
根据UML类创建pet(宠物)接口
1. 提供getName() 返回该宠物的名字 2. 提供setName(String name) 为该宠物命名 3. 提供 play()方法
1. 该类必须包含String属性来存宠物的名字。
2. 定义一个构造器,它使用String参数指定猫的名字;该构造器必须调用超类构造器来指明所有的猫都是四条腿。 3. 另定义一个无参的构造器。该构造器调用前一个构造器(用this关键字)并传递一个空字符串作为参数 4. 实现Pet接口方法。 5. 实现eat方法。
1. 创建Fish类,它继承Animal类
2. 重写Animal的walk方法以表明鱼不能走且没有腿。 3. 实现Pet接口 4. 无参构造方法 5. 提供一个private 的name属性
HOW2J公众号,关注后实时获知最新的教程和优惠活动,谢谢。
![]()
问答区域
2024-05-18
上传代码
2023-08-16
大家看看哪里有问题吗
3 个答案
wuwa-_- 跳转到问题位置 答案时间:2024-03-25 hncj指尖风雨 跳转到问题位置 答案时间:2023-12-30 package demo1;
public abstract class Animal {
protected int legs;
protected Animal(int legs){
this.legs=legs;
}
public Animal() {
}
public abstract void eat();
public void walk(int legs){
System.out.println("用"+this.legs+"条腿走路");
}
/**
* 获取
* @return legs
*/
public int getLegs() {
return legs;
}
/**
* 设置
* @param legs
*/
public void setLegs(int legs) {
this.legs = legs;
}
public String toString() {
return "Animal{legs = " + legs + "}";
}
}package demo1;
public interface Pet {
public void play();
public void getName();
public void setName(String name);
}package demo1;
public class Fish extends Animal implements Pet {
private int name;
protected Fish(int legs) {
super(legs);
}
public Fish() {
}
@Override
public void eat() {
System.out.println("鱼在吃草");
}
public void walk() {
System.out.println("鱼不能走且没有腿");
}
@Override
public void play() {
}
@Override
public void getName() {
}
@Override
public void setName(String name) {
}
public String toString() {
return "Fish{}";
}
}
package demo1;
public class Spider extends Animal {
protected Spider(int legs) {
super(legs);
}
@Override
public void eat() {
System.out.println("蜘蛛在eat");
}
}
package demo1;
public class Cat implements Pet {
public String name;
public Cat() {
}
public Cat(String name) {
this.name = name;
}
@Override
public void play() {
System.out.println("猫在玩");
}
@Override
public void getName() {
}
@Override
public void setName(String name) {
this.name = name;
}
public String toString() {
return "Cat{name = " + name + "}";
}
}
RobertLewandowski9 跳转到问题位置 答案时间:2023-09-22 public abstract class Animal {
public String name;
protected int legs;
public abstract void eat();
protected void setLegs(int legs){
this.legs=legs;
}
public void walk()
{
System.out.println(this.name+"这个动物用"+this.legs+"条腿走路");
}
}
class rabbit extends Animal{
public rabbit(String name,int legs)
{
this.name=name;
this.legs=legs;
}
@Override
public void eat() {
System.out.println(name+"吃草");
}
public static void main(String[] a)
{
rabbit r=new rabbit("兔子",4);
r.walk();
r.eat();
}
}
回答已经提交成功,正在审核。 请于 我的回答 处查看回答记录,谢谢
2023-04-15
Animal-Spider-Pet-Cat-Fish
2022-10-22
最终答案
2022-01-20
Animal类里应该增加一个属性:name的,这是所有动物都有的属性。
提问太多,页面渲染太慢,为了加快渲染速度,本页最多只显示几条提问。还有 53 条以前的提问,请 点击查看
提问之前请登陆
提问已经提交成功,正在审核。 请于 我的提问 处查看提问记录,谢谢
|