Size: a a a

2020 December 26

DK

Dmtr Klkv in learn.java
Ну попробуй и так и так, поэксперемнтируй.
источник

CH

Creep Havok in learn.java
Только еще один вопрос, почему тогда мы не можем просто в тупую написать:
Man man = new Man();
Если он и так наследник и имеет родительские методы?
источник

DK

Dmtr Klkv in learn.java
Можем, и так и делаем в частном случае. Но я как я уже говорил, что если кроме Man у тебя еще 10 наследников у Person?
источник

DK

Dmtr Klkv in learn.java
Если ты напишешь метод, который принимает Object, то так как он общий предок для любого класса, ты в этот метод сможешь передать что угодно.
источник

CH

Creep Havok in learn.java
Dmtr Klkv
Можем, и так и делаем в частном случае. Но я как я уже говорил, что если кроме Man у тебя еще 10 наследников у Person?
Кажется начинаю понимать
источник

CH

Creep Havok in learn.java
Dmtr Klkv
Если ты напишешь метод, который принимает Object, то так как он общий предок для любого класса, ты в этот метод сможешь передать что угодно.
А вот тут не очень
источник

DK

Dmtr Klkv in learn.java
Какой бы класс ты не написал, наследование всегда будет Object - Person - Man. Object это всегда самый первый родитель любого класса.
источник

CH

Creep Havok in learn.java
Dmtr Klkv
Какой бы класс ты не написал, наследование всегда будет Object - Person - Man. Object это всегда самый первый родитель любого класса.
Все, понял!
Это говорит о том, что мы сможем сделать так:
Dog dog = new Cat(...);
И использовать методы обьекта dog у обьекта cat
источник

CH

Creep Havok in learn.java
И это не должно сработать, точнее, может и сработает, но явно будет не то, что нам нужно
источник

DK

Dmtr Klkv in learn.java
Не совсем понял, ну да ладно 😅
источник

G

GladkiyKriminal in learn.java
Тут немного про другое
источник

CH

Creep Havok in learn.java
Dmtr Klkv
Не совсем понял, ну да ладно 😅
Тоисть обьект типа Dog сможет принять данные обьекта типа Cat и работать с ними
источник

DK

Dmtr Klkv in learn.java
Creep Havok
Тоисть обьект типа Dog сможет принять данные обьекта типа Cat и работать с ними
Какое наследование между Dog и Cat?
источник

CH

Creep Havok in learn.java
Но для того, чтобы не было ошибки, нам нужно явно указать, что мы сами осознанно это делаем
источник

CH

Creep Havok in learn.java
Animal
источник

DK

Dmtr Klkv in learn.java
А не!
источник

DK

Dmtr Klkv in learn.java
Если они одноранговые, то они не смогут друг в друга скаститься.
источник

CH

Creep Havok in learn.java
Даже через явное указание преобразования?
источник

G

GladkiyKriminal in learn.java
Ты можешь сделать метод eat(Animal a), в теле этого метода вызывать какой-то метод класса Anima к примеру abc(). И потом ты можешь работать и передать в данный метод наследников и Dog d и Cat c  - eat(c), eat (d) и все они будут работать корректно, потому что все они наследники Animal и у них есть этот метод abc()
источник

CH

Creep Havok in learn.java
GladkiyKriminal
Ты можешь сделать метод eat(Animal a), в теле этого метода вызывать какой-то метод класса Anima к примеру abc(). И потом ты можешь работать и передать в данный метод наследников и Dog d и Cat c  - eat(c), eat (d) и все они будут работать корректно, потому что все они наследники Animal и у них есть этот метод abc()
Так это же интерфейс
источник