栏目分类:
子分类:
返回
终身学习网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
终身学习网 > IT > 软件开发 > 后端开发 > .Net

第四次实验 第一期 紫金学院 Java 抽象类和接口

.Net 更新时间:发布时间: 百科书网 趣学号

  1. 建立一个动物的层次结构,以抽象类Animal为根,Cat、Spider和Fish动物类实现接口Pet。使用接口和抽象类技术完成。类结构如图1所示。

图1 类结构

完成:

  • 创建Animal类,它是所有动物类的抽象父类。
  • 创建Spider类,继承Animal类。
  • 创建Pet接口。
  • 创建Cat类,继承Animal类并实现Pet接口。
  • 创建Fish类,继承Animal类并实现Pet接口。
  • 使用AnimalsTest类测试代码。

  1.  Animal类

        (1)所有动物类的父类

        (2)抽象类

        (3)两个方法:walk()和eat(),输出内容随便给

        (4)成员变量legs

abstract class Animal {
	public int legs;
	public Animal (int legs) {
		this.legs=legs;
		}
	public void walk () {
		System.out .println ("Animal is walking on legs!") ;
		}
	public abstract void eat();
}

 2.Cat类

        (1)创建cat类,继承父类Animal,接口Pet

        (2)成员变量name,对他进行获取get,修改set

        (3)两个方法:paly()和eat()

        (4)引用父类变量 super(legs)

        (5)创建两个构造方法:含参、不含参

public class Cat extends Animal implements Pet{
	public Cat(int legs) {
		super(legs);
	}
	public void Cat() {
		
	}
	private String name;
	public void cat(String name) {
		this.name=name;
	}
	
	public String getName() {
		return name;
	}
	public void setName(String name ) {
		this.name=name;
	}
	public void play() {
		System.out.println("cat 正在  play!");
	}
	public void eat() {
		System.out.println("cat 正在  eat!");
	}

}

 3.Spider类

        (1)创建Spide类,继承父类Animal,接口Pet

        (2)成员变量name,对他进行获取get,修改set

        (3)两个方法:paly()和eat()

        (4)引用父类变量 super(legs)

        (5)创建两个构造方法:含参、不含参

public class Spider extends Animal implements Pet{
	private String name;

	public void Spider(String name) {
		this.name=name;
	}
	public Spider(int legs) {
		super(legs);
		// TODO Auto-generated constructor stub
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public void play() {
		System.out.println("Spider 正在  play!");		
	}
	public void eat() {
		System.out.println("Spider 正在 eat!");
	}
}

 4.Fish类

        (1)创建Fish类,继承父类Animal,接口Pet

        (2)成员变量name,对他进行获取get,修改set

        (3)两个方法:paly()和eat()

        (4)引用父类变量 super(legs)

        (5)创建两个构造方法:含参、不含参

public class Fish extends Animal implements Pet{
	private String name;
	public void Fish(String name) {
		this.name=name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getName() {
		return name;
	}
	public Fish(int legs) {
		super(legs);
		// TODO Auto-generated constructor stub
	}
	public void eat() {
		// TODO Auto-generated method stub
		System.out.println("Fish 正在 eat!");
	}
	public void walk() {
		System.out.println("Fish 正在 walking!");
	}
}

  5.Pet接口

        (1)创建Pet(宠物)接口

        (2)两个方法:paly()、getName()、含参setName()

public interface Pet {
	void setName(String name);
	String getName();
	static void play() {
		System.out.println(" is playing! ");
	}
}

  6.Animal类

        (1)父类对象创建对象,用Spider类生成新的对象赋给a(父类对象),付给legs默认值8

        (2)a.walk()这个方法其实调用的是父类的walk的方法

        (3)而父类的eat()的方法是空的,所以调用自己

        (4)Pet p;创建对象,用Fish类生成新的对象赋给p,付给legs默认值9

        (5)给p的名字进行修改用到Pet类里的setName的方法,p.setName("小鱼");

public class AnimalTest {
	public static void main(String[] args) {
		Animal a;
		a=new Spider(8);
		a.walk();
		a.eat();
		//
		a=new Cat(4);
		a.walk();
		a.eat();
		//
		Pet p;
		p=new Fish(9);
		p.setName("小鱼");
		System.out.print(p.getName());
		Pet.play();
	}
}

 代码运行截图:

转载请注明:文章转载自 www.051e.com
本文地址:http://www.051e.com/it/984830.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 ©2023-2025 051e.com

ICP备案号:京ICP备12030808号