Композиция (имеет ассоциацию) Я не понимаю, как-то - PullRequest
0 голосов
/ 04 мая 2020

Я учусь использовать композицию в java OOP и начал кодировать простую связь между клиентами и банковскими счетами. Я оставил ниже изображения, от которых я не смог избавиться. Мой вопрос: если я определю метод для значений, которые будут установлены в конструкторе, как я могу вызвать эти методы для места в конструкторе. Спасибо уже сейчас!

public class bankaHesabı {
private String müşteriNo;
private String IBAN;

public bankaHesabı(String müşteriNo, String IBAN) {
    this.müşteriNo = müşteriNo;
    this.IBAN = IBAN;
}

public String getMüşteriNo() {
    return müşteriNo;
}

public String getIBAN() {
    return IBAN;
}

public void setMüşteriNo()
{
    for(int i = 0;i<6;i++)
    {
          int a = (int)(1+Math.random()*9); 
          this.müşteriNo += Integer.toString(a);
    }

 }
public void setIBAN(String uyruk)
{
    IBAN += uyruk +" "+ this.müşteriNo; 
}

} publi c class Kompozisyon {

public static void main(String[] args) {
   bankaHesabı bankahesabı = new bankaHesabı(müşteriNo, IBAN);
  müşteri m1 = new müşteri(bankahesabı,"mithat","TR");



}

}

здесь понятнее, чем коды

1 Ответ

0 голосов
/ 04 мая 2020

Конструкторы используются ТОЛЬКО для инициализации НОВОГО экземпляра объекта. Вы можете иметь несколько конструкторов с различным количеством и типом аргументов. Не требуется, что конструктор должен делать с передаваемыми аргументами или логами c внутри конструктора, но обычно он используется для присвоения значений частным переменным. Сказав это, вы должны просмотреть правила конструктора:

Правила для конструктора в Java

  • Конструктор не может иметь возвращаемый тип.
  • Конструктор должен иметь то же имя, что и имя класса.
  • Конструкторы не могут быть помечены как stati c.
  • Конструктор не может быть помечен как абстрактный.
  • A Конструктор не может быть переопределен.
  • Конструктор не может быть окончательным.

Если у вас нет конструктора, который обновляет все необходимые вам переменные, вам придется прибегнуть к вызову метода setter. методы для установки состояния (при условии, что они доступны).

Наконец, после создания объекта с помощью конструктора вам часто потребуется вызывать методы установки при изменении состояния, и вам необходимо обновить переменную в экземпляре объекта.

...