/ Наследяване. леене и полиморфизъм в java [затворен] - java, наследяване, леене, полиморфизъм

Наследяването. леене и полиморфизъм в java [closed] - java, наследяване, леене, полиморфизъм

Може ли някой да ми обясни как да се прилагат тези тези видове код и обяснение каква е разликата между трите? Аз съм кодиране в Java.

Отговори:

1 за отговор № 1

Искам да го снимам, защото наскоро се опитах да разбера това и това е добър начин да видя дали съм го направил :) защото, ако не можете да обясните нещо, което наистина не сте го разбирали :)

Кастингът е доста прост. Това означава да преобразуваме една стойност или обект от определен тип в различен тип. По този начин можете например да превърнете флоат в цяло число

float y = 7.0
int x = (int) y

x вече ще бъде 7. Разбира се, можете просто да хвърлите какъвто и да е тип на друг тип. Има ограничения, които трябва да търсите в Google - аз никога не бих могъл да покрия всички от тях.

Полиморфизъм звучи подобно, но всъщностнещо друго. Както разбирам, това означава, че определени обекти могат да бъдат от няколко вида. Например, ако имате клас, който разширява друг клас, всеки екземпляр на родителския клас може също да бъде от типа на извлечения клас.

class Base {...}
class Derived extends Base {...}

Base obj1 = new Base();
Derived obj2 = new Derived();

obj1 = obj2;

В хода на този фрагмент obj1 ще имае първоначално инстанция на Base, но след това ще бъде екземпляр на Derived, който е клас, получен от базата. Това е възможно, защото копия от изведени класове съдържат "вътрешен обект" (не знам официалното име) на базовия клас.

Надявам се това да помогне


0 за отговор № 2

вижте документацията от Oracle: http://docs.oracle.com/javase/tutorial/java/IandI/polymorphism.html

http://docs.oracle.com/javase/tutorial/java/IandI/index.html


0 за отговор № 3

Истински полиморфизъм (т.е., множествено наследяване) не е налично в Java. Въпреки това, можете да получите добра апроксимация, използвайки "Интерфейси", въпреки че вашите класове трябва да изпълняват всички функции, предоставени от интерфейса (връзка към Java интерфейси).

Можете също да емулирате множествено наследяване, използвайки делегирани сетатори / гетери на класове. Това може да бъде сложно, но може да ви даде и ефекта на множествено наследяване.

Тази тема е обсъдена подробно в този Stack Overflow post.