Переключившись на цепный стиль сеттера, как объявить сети в базовом классе, как они по -прежнему допускают доступ к бетоJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Переключившись на цепный стиль сеттера, как объявить сети в базовом классе, как они по -прежнему допускают доступ к бето

Сообщение Anonymous »

В течение нескольких лет появился новый стиль сеттера, и я переключаюсь на него.

Код: Выделить всё

void setMyAttribute(MyAttribute value) {
this.myAttribute = value;
}
< /code>
цепный стиль: < /p>
MyObject setMyAttribute(MyAttribute value) {
this.myAttribute = value;
return this;
}
< /code>
И мне это очень нравится. Вот переходной код, где у меня все еще есть оба стиля: < /p>
this.organigramme.setCivilite(civilitePresident);
this.organigramme.setNomPresident(nomPresident);
this.organigramme.setPrenomPresident(prenomPresident);

Commune communeSiege = new Commune();
communeSiege.setSirenCommune(sirenCommuneSiege);
communeSiege.setCodeCommune(codeCommuneSiege);
communeSiege.setNomCommune(nomCommuneSiege);
communeSiege.setArrondissement(arrondissementSiege);
communeSiege.setPopulation(populationCommuneSiegeTotale);

Adresse adresseSiege = new Adresse()
.codePostal(codePostalSiege)
.complementVoie(complementAdresseSiege)
.bureauDistributeur(distributionSpecialeSiege)
.voie(libelleVoieSiege)
.ville(villeSiege);

this.siege.nomCommune(nomCommuneSiege)
.commune(communeSiege)
.nomCommune(nomCommuneSiege)
.adresse(adresseSiege)
.email(courrielSiege)
.siteInternet(siteInternetSiege);
Но проблема возникает, когда у меня есть класс B , расширяющий A One.
Потому что сеттеры должны вернуть в своем прототипе. Вызывая, что я не могу выбрать желаемый заказ для их звонка, после этого. Я должен тщательно цепорить:

Если какой -либо установщик вызывается, когда я заполняю A B объект, они разбивают цепочку, не позволяя вызову любого B Setter снова:
Здесь компетенции Competencs c) определяется в базовом классе :

И это разочаровывает! Потому что, конечно, если b расширяет и что я заполняю объект B с некоторым классом A Setters, их возврат this; возвращают конкретный b класс! был абстрактным классом: < /p>

Код: Выделить всё

 X a1(String value) {
this.a1 = value;
return this;
}
Но компилятор отказывается от возврата this , сообщая, что он ожидает x , и я возвращаю ;


Подробнее здесь: https://stackoverflow.com/questions/796 ... base-class
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»