powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Метод подставка
25 сообщений из 50, страница 2 из 2
Метод подставка
    #38046176
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
redwhite90ох, мой английский..... может по простому, по рабоче-крестьянски напишите в чем я не прав
Лучше читать, например, свежий перевод Философии Java, а не вот то вот. Ещё лучше читать английский. Грех этого не делать в 21м веке, когда куча словарей и переводчиков в секундном доступе.
...
Рейтинг: 0 / 0
Метод подставка
    #38046189
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
redwhite90а какие ограничения накладываются на эти возвращаемые значения?

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
public class BaseCourseHelper extends CourseHelper {

    public BaseCourse getCourse(){
       System.out.println("BaseCourse");
       return new BaseCourse();
    }

    public Course getCourse(){ // Компилятор сам создаёт вот такой метод, который вызывает реализацию выше.
        return getCourse(); //Вам для обучения это нафиг не нужно :)
    }

}
...
Рейтинг: 0 / 0
Метод подставка
    #38046195
redwhite90
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz,

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

ну и в чем же я не прав то?
...
Рейтинг: 0 / 0
Метод подставка
    #38046196
redwhite90
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz,

кстати думаю купить себе в бумажном виде какую нить книгу, многие эту советуют
...
Рейтинг: 0 / 0
Метод подставка
    #38046200
javapecker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
redwhite90,
а где вас обвиняли в неправоте?
...
Рейтинг: 0 / 0
Метод подставка
    #38046201
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
redwhite90ну и в чем же я не прав то?
1. В определении ниже-выше.
2. В заявлении что пример в книге не верен.
...
Рейтинг: 0 / 0
Метод подставка
    #38046202
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
redwhite90многие эту советуют
Филисофию? Или "Промышленое"?
...
Рейтинг: 0 / 0
Метод подставка
    #38046205
redwhite90
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowiczredwhite90многие эту советуют
Филисофию? Или "Промышленое"?

философию)

ну а мой пост насчёт класс А и класса B правилен?
...
Рейтинг: 0 / 0
Метод подставка
    #38046210
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
redwhite90ну а мой пост насчёт класс А и класса B правилен?
Зачеркнуть "выше", написать "ниже".
13504100
...
Рейтинг: 0 / 0
Метод подставка
    #38046216
redwhite90
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz,

аааа вот Вы о чем.

только вот в примере
http://www.java-tips.org/java-se-tips/java.lang/covariant-return-types.html
оба класса возвращают this.
ведь наследник ниже по иерархии, чем предок?
...
Рейтинг: 0 / 0
Метод подставка
    #38046227
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
redwhite90оба класса возвращают this.
ведь наследник ниже по иерархии, чем предок?
что они возвращают это вообще не важно. Важно как методы объявлены.
...
Рейтинг: 0 / 0
Метод подставка
    #38046231
redwhite90
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowiczredwhite90оба класса возвращают this.
ведь наследник ниже по иерархии, чем предок?
что они возвращают это вообще не важно. Важно как методы объявлены.

В конец запутался
...
Рейтинг: 0 / 0
Метод подставка
    #38046232
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
redwhite90В конец запутался

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
public class BaseCourseHelper extends CourseHelper {

    public BaseCourse getCourse(){ // <-- объявление метода. то о чем вообще речь
       return null; // <-- возвращаемое значение, в целом, не важно в контексте этой темы
    }


}
...
Рейтинг: 0 / 0
Метод подставка
    #38046234
javapecker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
redwhite90,
выше, ниже, я вообще могу слева направо или наискосок нарисовать. Blazkowicz правильно сказал, очень неудачные слова. Метод не обязан возвращать экземпляр того класса в котором он объявлен. Он просто может вести себя так же как класс, по аналогии. Если у класса появляется наследник, то и метод в наследнике может вернуть наследника того что возвращал в суперклассе.
...
Рейтинг: 0 / 0
Метод подставка
    #38046235
redwhite90
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowiczredwhite90В конец запутался

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
public class BaseCourseHelper extends CourseHelper {

    public BaseCourse getCourse(){ // <-- объявление метода. то о чем вообще речь
       return null; // <-- возвращаемое значение, в целом, не важно в контексте этой темы
    }


}



и какой я должен сделать вывод?
Не могли бы всю мысль высказать, а не по частям.
...
Рейтинг: 0 / 0
Метод подставка
    #38046236
javapecker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,
возвращаемое значение, в целом, не важно в контексте этой темы
по-моему тема как раз вокруг типа этого значения
...
Рейтинг: 0 / 0
Метод подставка
    #38046239
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
redwhite90и какой я должен сделать вывод?
Вы спросили, я ответил.

redwhite90Не могли бы всю мысль высказать, а не по частям.
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
class X{}
class Y extends X{}
class A{
    X get(){
        return null;
    }
}

class B extends A{
    Y get(){
        return null;
    }
}
...
Рейтинг: 0 / 0
Метод подставка
    #38046241
redwhite90
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
javapeckerredwhite90,
выше, ниже, я вообще могу слева направо или наискосок нарисовать. Blazkowicz правильно сказал, очень неудачные слова. Метод не обязан возвращать экземпляр того класса в котором он объявлен. Он просто может вести себя так же как класс, по аналогии. Если у класса появляется наследник, то и метод в наследнике может вернуть наследника того что возвращал в суперклассе.
Тогда почему компилится и выполняется следующий пример:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
public class Course { 
    public int id; 
    private String name;
    public Course(int i, String n) 
    { 
        id = i;
        name = n; 
    } 
    public String toString() 
    { 
        return "Название: " + name + "(" + id + ")"; 
    }
}



Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
public class BaseCourse extends Course { private int idTeacher;
public BaseCourse(int i, String n, int it) 
{ 
    super(i, n); 

    idTeacher = it; 
}
    public String toString() 
    { /* просто toString() нельзя!!! метод будет вызывать сам себя, что приведет к ошибке во время выполнения */ 
        return super.toString() + " препод.(" + idTeacher + ")"; 
    } 
}




Код: java
1.
2.
3.
4.
5.
6.
public class CourseHelper {
    public Course getCourse(){
        System.out.println("Course");
        return new Course(1,"2");
    }
}



Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
 */
package newpackage;


   public class BaseCourseHelper extends CourseHelper {
    public BaseCourse getCourse(){
        System.out.println("BaseCourse");
        return new BaseCourse(1,"1",999);
    }
}





Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
public class RunnerCourse {
    public static void main(String[] args)
    {
        CourseHelper bch = new BaseCourseHelper();
        Course course = bch.getCourse();
        //BaseCourse course = bch.getCourse();//ошибка компиляции
        System.out.println(bch.getCourse().id);
    }
}
...
Рейтинг: 0 / 0
Метод подставка
    #38046242
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
javapeckerпо-моему тема как раз вокруг типа этого значения
covariant return type это объявление типа возвращаемого значения для метода. Само же возвращаемое значение может быть любым.
...
Рейтинг: 0 / 0
Метод подставка
    #38046243
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
redwhite90Тогда почему компилится и выполняется следующий пример:

А почему не должен? Где вы видете несоответствие примера и указанным объяснениям?
...
Рейтинг: 0 / 0
Метод подставка
    #38046245
redwhite90
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всёёёёё понял))) запутался в наследовании, что от чего)
...
Рейтинг: 0 / 0
Метод подставка
    #38046246
redwhite90
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за терпение)
...
Рейтинг: 0 / 0
Метод подставка
    #38046247
redwhite90
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Но названия конечно талантливо придуманы))) кто придумал назвать наследника BaseИмяПредка
...
Рейтинг: 0 / 0
Метод подставка
    #38046249
javapecker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
redwhite90,
тот же кто и подставку
...
Рейтинг: 0 / 0
Метод подставка
    #38046596
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
redwhite90Но названия конечно талантливо придуманы))) кто придумал назвать наследника BaseИмяПредка
Ну, а я о чем 13504018 ?
...
Рейтинг: 0 / 0
25 сообщений из 50, страница 2 из 2
Форумы / Java [игнор отключен] [закрыт для гостей] / Метод подставка
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]