Как вернуть из метода объект класса, для которого вызывается метод?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как вернуть из метода объект класса, для которого вызывается метод?

Сообщение Anonymous »

У меня есть класс DNSRecord, и я хочу вернуть текущий объект этого класса из домена метода. Код следующий:

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

public abstract class DNSRecord {
protected String domain;

public DNSRecord domain(String domain) {
this.domain = domain;

return this;
}
}
Однако, когда я хочу, чтобы другой класс, скажем, NSRecord, расширил этот класс, я не могу связать вызовы методов с помощью: NSRecordObject.domain("pasta.org").nameserver("ns1.somedomain.net"), поскольку домен возвращает объект типа DNSRecord, а не NSRecord, а сервер имен — это метод, определенный в классе NSRecord.

Код НСрекорд:

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

public final class NSRecord extends DNSRecord {
private String nameserver = null;

public NSRecord(String nameserver) {
this.nameserver = nameserver;
}

public NSRecord nameserver(String nameserver) {
this.nameserver = nameserver;
return this;
}
}
Как написать свой код так, чтобы метод домена возвращал объект, для которого он вызывается, а тип объекта соответствовал типу объекта, для которого он вызывается?

Например, если он вызывается на NSRecord, он возвращает объект типа NSRecord, если он должен быть вызван на CNAMERecord, он будет возвращать объект типа CNAMERecord.
Ответить

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

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

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

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

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