第1关:学习-Java继承和多态之子类继承性
任务描述
本关任务:定义一个 Dog 类,继承 Animal 类(Animal 类已经定义),定义自己的性别属性,并定义获取和设置性别属性的方法和 sleep 方法。
相关知识
继承是 Java 面向对象编程技术的一块基石,因为它允许创建分等级层次的类。
继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。
/**
* 任务:定义一个 Dog 类,继承 Animal 类,定义自己的性别属性,并定义获取和设置性别属性的方法和 sleep 方法。
* 类名为:Dog
*/
// 请在下面的Begin-End之间按照注释中给出的提示编写正确的代码
/********** Begin **********/
// 定义一个Dog的公开类,并继承Animal类
class Dog extends Anaimal{
String Sex;
Dog(String type,String name,int age){
super(type,name,age);
}
public String getSex() {
return Sex;
}
public void setSex(String Sex) {
this.Sex = Sex;
}
public void sleep(){
System.out.print("一只名为"+getName()+"性别为"+getSex()+"的小狗,现在"+getAge()+"岁,它正在睡觉");
}
}
//定义小狗的性别sex,字符串类型
// 定义获取和设置小狗性别的方法。
//定义小狗的睡觉方法,实现输出:一只名为xx性别为xx的小狗,现在xx岁,它正在睡觉
/********** End **********/
Anaimal类:
public class Anaimal {
private String type;
private String name;
private int age;
public Anaimal(String type, String name, int age) {
this.type = type;
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
Test类:
public class Test {
public static void main(String[] args) {
Dog dog = new Dog("哈士奇","二哈",3);
dog.setSex("雌");
dog.sleep();
}
}
第2关:练习-Java继承和多态之子类继承性
任务描述
本关任务:定义一个矩形 Rectangle 类和 三角形 Triangle 类,都继承 Shape 类,在这两个类中分别定义 一个名为 area 的方法,实现计算该形状面积的功能(Shape 类已经定义完成,可以在 Shape.java 文件查看相应代码)。
编程要求
仔细阅读右侧编辑区内给出的代码框架及注释,按照提示编写程序代码。
要求:在各自的文件中完成相应的类,点击右侧的代码文件可以文件的替换。
Rectangle类:
/**
* 任务:定义一个矩形 Rectangle 类,继承 Shape 类,
* 在这个类中分别定义一个名为 area 的方法,实现计算该形状面积的功能。
* 类名为:Rectangle
*/
// 请在下面的Begin-End之间按照注释中给出的提示编写正确的代码
/********** Begin **********/
// 定义一个Rectangle的公开类,并继承Shape类
class Rectangle extends Shape{
double area(){
double a=super.getHeight();
double b=super.getWidth();
return a*b;
}
}
// 定义一个area方法,实现计算矩形面积的功能。
/********** End **********/
Triangle类:
/**
* 任务:定义一个三角形 Triangle 类,继承 Shape 类,
* 在这个类中分别定义一个名为 area 的方法,实现计算该形状面积的功能。
* 类名为:Triangle
*/
// 请在下面的Begin-End之间按照注释中给出的提示编写正确的代码
/********** Begin **********/
class Triangle extends Shape{
double area(){
double a=super.getHeight();
double b=super.getWidth();
return 0.5*a*b;
}
}
/