как правильно(професиональный код) пользоваться полями суперкласса в подклассе?

как получать переменную суперкласса в подклассе, через модификатор protected или же через гетер метод? допустим:

public class Animal {
    private int age;
    protected String sex;
    public Animal(int age, String sex){
        this.age = age;
        this.sex = sex;
    }
    public void info(){
        System.out.println("age -" + age + " sex -" + sex);
    }

    public int getAge() {
        return age;
    }
}

public class Dog extends Animal{
    private String coatLength;
    public Dog(int age, String sex, String coatLength){
        super(age,sex);
        this.coatLength = coatLength;
    }
    public void info(){
        System.out.println("age -" + super.getAge() + " sex -" + super.sex + " coatLength -" + coatLength );
    }
}

class Main{
    public static void main(String[] args){
        Animal a = new Animal(10, "women");
        Dog d = new Dog(5,"men","long");
        a.info();
        d.info();
    }
}

Ответы (0 шт):