Java UML-диаграммы в классы - PullRequest
       5

Java UML-диаграммы в классы

1 голос
/ 25 сентября 2019

Диаграмма UML

Я новичок в Java, хотя посещал другие курсы программирования.Я действительно борюсь с концепцией класса из диаграммы UML.У меня есть родительский класс и два дочерних класса.Мое задание - создать эту структуру классов.Хотя я борюсь с концепцией класса и отношений в целом.

Пример: если мой родительский класс - «Животное», а мои дочерние классы - «Обезьяна» и «Медведь» - если будут реализованы только варианты «Обезьяна» и «Медведь», это делает класс«Животное» - это абстрактное классовое различие, поскольку никогда не будет просто «Животное», оно всегда будет «Обезьяной» или «Медведем».

Итак, как мне создать три файла (Animal.java, Monkey.java, Bear.java), если Animal является абстрактным?Я понимаю, что свойства и черты Животного унаследованы Обезьяной и Медведем.Предполагая, что у меня есть, например, имя и возраст животного в качестве атрибутов, получателей и установщиков для каждого - если имя и возраст класса «Животное» являются личными (код ниже), как класс «Медведь» выбирает имя ивозраст, если он находится в своем собственном Java-файле / классе?Мой код ниже ...

Animal.java

public class Animal {
    private String animalName;
    private int animalAge;

    public void setName (String name) {
        animalName = name;
    }

    public void setAge (int age) {
        animalAge = age;
    }

    public static String getName() {
        return animalName;
    }

    public static String getAge() {
        return animalAge;
    }
}

Bear.java

public class Bear {
    public int weight;

public static int weight() {
     return weight;
    }
}
// This is where I get stuck & don't know where to go from here. 

IЯ понимаю, что я создаю объект "Медведь", который является частью класса "Животное", но, поскольку Медведь является его собственным классом, как "Медведь" получает свои присвоенные значения от Животного?Я могу назначить «Животное» и «Медведь» значениями по умолчанию, но мой мозг не может собрать воедино то, как они разговаривают друг с другом.

Возможно, это выходит за рамки этого форума, но мой профессор не отвечает иЯ прочитал книги, электронные книги, материалы курса и несколько лекций, и это просто не доходит до меня, и я уже две недели отстаю, пытаясь понять эту концепцию, чтобы я мог двигаться дальше с реальным кодом впрограмма.

Заранее спасибо.

1 Ответ

1 голос
/ 25 сентября 2019

Вы забыли сделать это:

public class Bear extends Animal {
    // ...
}

Я бы порекомендовал вам добавить конструкторы:

public class Animal {
    private String name;
    private int age; 

    public Animal(String name, int age) {
       this.name = name;
       this.age = age;
    }

    public String getName() [ return this.name; }
    public int getAge() { return this.age; }
}

public class Bear extends Animal {
    private int weight;

    public Bear(String name, int age, int weight) {
        super(name, age);
        this.weight = weight;
    }

    public int getWeight() { return this.weight; }
}

Вы можете сделать это, потому что Bear IS-A Animal:

Animal b = new Bear("Smokey", 10, 300);
System.out.println(b.getName()); // prints "Smokey"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...