| 
			
	
	
	
						  
						
						
						
	
 
	本视频是解读性视频,所以希望您已经看过了本知识点的内容,并且编写了相应的代码之后,带着疑问来观看,这样收获才多。 不建议一开始就观看视频
	 
			 
	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公众号,关注后实时获知最新的教程和优惠活动,谢谢。
			 
			 
			
			
			
			
			
		
		
		
		 	问答区域     
		 	
				
		  
	 
	  		
	  
	  	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 条以前的提问,请 点击查看 
			
			提问之前请登陆
			
		 
		提问已经提交成功,正在审核。 请于 我的提问 处查看提问记录,谢谢	
	 
 |