本视频是解读性视频,所以希望您已经看过了本知识点的内容,并且编写了相应的代码之后,带着疑问来观看,这样收获才多。 不建议一开始就观看视频
![]() 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来打印动物是如何行走的(包括腿的数目)。
在查看答案前,尽量先自己完成,碰到问题再来查看答案,收获会更多
public abstract class Animal {
protected int legs;
protected Animal(int legs){
this.legs = legs;
}
public abstract void eat();
public void walk(){
System.out.println("用 " + legs + " 条腿走路");
}
}
public abstract class Animal { protected int legs; protected Animal(int legs){ this.legs = legs; } public abstract void eat(); public void walk(){ System.out.println("用 " + legs + " 条腿走路"); } }
1. Spider继承Animal类。
2. 定义默认构造器,它调用父类构造器来指明所有蜘蛛都是8条腿。 3. 实现eat方法
在查看答案前,尽量先自己完成,碰到问题再来查看答案,收获会更多
public class Spider extends Animal{
@Override
public void eat() {
System.out.println("spider eating");
}
public Spider(){
super(8);
}
}
public class Spider extends Animal{ @Override public void eat() { System.out.println("spider eating"); } public Spider(){ super(8); } }
根据UML类创建pet(宠物)接口
1. 提供getName() 返回该宠物的名字 2. 提供setName(String name) 为该宠物命名 3. 提供 play()方法
在查看答案前,尽量先自己完成,碰到问题再来查看答案,收获会更多
public interface Pet {
public void setName(String name);
public String getName();
public void play();
}
public interface Pet { public void setName(String name); public String getName(); public void play(); }
1. 该类必须包含String属性来存宠物的名字。
2. 定义一个构造器,它使用String参数指定猫的名字;该构造器必须调用超类构造器来指明所有的猫都是四条腿。 3. 另定义一个无参的构造器。该构造器调用前一个构造器(用this关键字)并传递一个空字符串作为参数 4. 实现Pet接口方法。 5. 实现eat方法。
在查看答案前,尽量先自己完成,碰到问题再来查看答案,收获会更多
public class Cat extends Animal implements Pet{
private String name;
public Cat(String name){
super(4);
this.name = name;
}
public Cat(){
this("");
}
@Override
public void setName(String name) {
this.name = name;
}
@Override
public String getName() {
// TODO Auto-generated method stub
return name;
}
@Override
public void play() {
System.out.println("Cat is playing");
}
@Override
public void eat() {
System.out.println("eating");
}
}
1. 创建Fish类,它继承Animal类
2. 重写Animal的walk方法以表明鱼不能走且没有腿。 3. 实现Pet接口 4. 无参构造方法 5. 提供一个private 的name属性
在查看答案前,尽量先自己完成,碰到问题再来查看答案,收获会更多
public class Fish extends Animal implements Pet{
private String name;
protected Fish() {
super(0);
}
@Override
public void eat() {
System.out.println("Fish is eating");
}
public void walk(){
System.out.println("swimming");
}
@Override
public void setName(String name) {
// TODO Auto-generated method stub
this.name = name;
}
@Override
public String getName() {
// TODO Auto-generated method stub
return this.name;
}
@Override
public void play() {
// TODO Auto-generated method stub
System.out.println("playing");
}
}
HOW2J公众号,关注后实时获知最新的教程和优惠活动,谢谢。
![]()
问答区域
2022-01-20
Animal类里应该增加一个属性:name的,这是所有动物都有的属性。
4 个答案
feiyu_666 跳转到问题位置 答案时间:2022-04-01 分别建立Animal,Pet接口,Spider,Cat,Fish,Test0测试类。
hoolich 跳转到问题位置 答案时间:2022-03-18 /*1. 创建Fish类,它继承Animal类
2. 重写Animal的walk方法以表明鱼不能走且没有腿。
3. 实现Pet接口
4. 无参构造方法
5. 提供一个private 的name属性*/
package charactor;
public class Fish extends Animal implements Pet{
@Override
public void walk() {
System.out.println("鱼不能走且没有腿");
}
public Fish(){
super(0);
}
@Override
public void eat() {
System.out.println("吃");
}
private String name;
public String getName(){
return this.name;
}
public void setName(String name){
this.name=name;
}
public void play(){
System.out.println("玩");
}
}
hoolich 跳转到问题位置 答案时间:2022-03-18 /*1. 该类必须包含String属性来存宠物的名字。
2. 定义一个构造器,它使用String参数指定猫的名字;该构造器必须调用超类构造器来指明所有的猫都是四条腿。
3. 另定义一个无参的构造器。该构造器调用前一个构造器(用this关键字)并传递一个空字符串作为参数
4. 实现Pet接口方法。
5. 实现eat方法。*/
package charactor;
import kotlin.reflect.jvm.internal.impl.descriptors.Visibilities;
public class Cat extends Animal implements Pet{
public String name;
public Cat(String name){
super(4);
this.name=name;
}
public Cat(){
this("");
}
@Override
public String getName() {
return name;
}
@Override
public void setName(String name) {
this.name = name;
}
@Override
public void play() {
System.out.println("玩!");
}
public void eat(){
System.out.println("吃");
}
}
hoolich 跳转到问题位置 答案时间:2022-03-17 /*1. 创建Animal类,它是所有动物的抽象父类。
2. 声明一个受保护的整数类型属性legs,它记录动物的腿的数目。
3. 定义一个受保护的构造器,用来初始化legs属性。
4. 声明抽象方法eat。
5. 声明具体方法walk来打印动物是如何行走的(包括腿的数目)。*/
package charactor;
public abstract class Animal {
protected int legs;
protected Animal(int legs){
this.legs=legs;
}
public abstract void eat();
public void walk(){
System.out.println("用 " + legs + " 条腿走路");
}
}
回答已经提交成功,正在审核。 请于 我的回答 处查看回答记录,谢谢
2021-10-12
fish类里protected
回答已经提交成功,正在审核。 请于 我的回答 处查看回答记录,谢谢
2021-08-21
题目一处看不明白,所以没写
2021-07-11
2021-7-11-PM-1-30
2021-05-18
答案!
提问太多,页面渲染太慢,为了加快渲染速度,本页最多只显示几条提问。还有 49 条以前的提问,请 点击查看
提问之前请登陆
提问已经提交成功,正在审核。 请于 我的提问 处查看提问记录,谢谢
|