Как будет выглядеть реализация для этой диаграммы классов UML? - PullRequest
0 голосов
/ 11 мая 2018

UML Diagram

abstract class Activity extend Measurement extends Location{

private DateTime timestamp;
private int heartRate;

private double latitude;
private double longitude;
private double elevation; 
}

Интересно, может, это будет выглядеть так внутри, с повторением классов:

public class Measurement{
private DateTime timestamp;
private int heartRate;
}

public class Location{
private double latitude;
private double longitude;
private double elevation;
}

Должны ли быть только все поля или классы внутри?

1 Ответ

0 голосов
/ 11 мая 2018

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

public class Activity {
    private Measurement measurement = new Measurement();
}

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

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

РЕДАКТИРОВАТЬ: я забыл упомянуть, ваши другие классы выглядят корректно, но не забывайте о связи между измерением и местоположением: измерение должно знать, чтоМестоположение существует.Вы обязательно должны помнить об этом при добавлении методов в ваши текущие классы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...