一个类/多个构造函数与多个类(继承)

5 java inheritance interface multiple-inheritance

我目前正在尝试实现以下树状结构(即男人、女人、儿童、特殊人、特殊女人、特殊儿童)。有没有一种更简洁/替代(更少重复代码)的方法来处理它?

public class Person {
    int hat;
    int one_glove;
}

public class Man extends Person {
    int coat;
    int shorts;
}

public class Woman extends Person {
    int coat;
}

public class Child extends Person {
    int shorts;
}
public class SpecialMan extends Man {
    int second_glove;
}

public class SpecialWoman extends Woman {
    int second_glove;
}

public class SpecialChild extends Child {
    int second_glove;
}
Run Code Online (Sandbox Code Playgroud)

我在想的是让 Person 类包含所有变量,然后简单地为它设置多个构造函数-> 链接到每个特定的对象类型?

public class Person{
 int hat;
 int one_glove;
 int coat;
 int shorts;
 int second_glove;

 public Person(int coat;int shorts; int hat; int one_glove;){} //Man
 public Person(int coat;int hat; int one_glove;){} //Woman
 public Person(int coat;int shorts; int hat; int one_glove; int second_glove;) {} //SpecialMan

 etc...
}
Run Code Online (Sandbox Code Playgroud)

小智 0

只需继承 person 类并使用 super

> public class Person{
 int hat;
 int one_glove;
 int coat;
 int shorts;
 int second_glove;

public person(int a,int b,int c,int d,int e){
hat  = a;
one_glove = b;
coat = c;
shorts = d;
second_glove = e;
}

}

class man extends person(){

man(int a,int b,int c,int d,int e){
super(a,b,c,d,e);
}
}
Run Code Online (Sandbox Code Playgroud)