Обектно леене в Java

Съдържание
Основите на програмирането в Java понякога те могат да бъдат приложени към обекти по подобен начин, за да се получи подобен резултат, в този случай можем да видим техниката на правене леене, ако си спомняме, когато изпращахме променлива, просто трябваше да направим променлива от един тип да стане друг тип.
С обекти можем да направим нещо подобно, можем да променим типа на обект за друг, стига той да е в йерархичната структура в неговото наследяване.
За да направите леене можем да го направим имплицитно, тоест със задание вече Java знае, че трябва да промени типа на обекта, за това можем да направим следното:

Ако погледнем изображението, декларирахме обект на класа Обект и тогава казваме, че това е пример за Студент, въпреки че обектът вече беше от тип, ние принудихме кастинга и той стана друг тип с просто присвояване, това е така, защото класът Студент наследява на класа Обект.
Сега, ако изпълним обратния случай и обект от класа Student, го променяме на тип Object, което ще се случи:

В този случай ще имаме a грешка при компилация на нашата програма, това се дължи на йерархията на наследяване, като обект на Студент винаги ще бъде типът Обект няма проблем, но а Обект Той не винаги ще бъде Student, защото има по -висок йерархичен ред, така че трябва да бъдем внимателни, когато установяваме замятането на типовете обекти.
Сега, ако искаме да направим един вид изрично кастинг, можем да извършим този тип действия, като например преминаване от по -висок ред към по -нисък, нека видим следния случай:

В този пример ние директно казваме на компилатора, че той трябва да се трансформира в обекта или от типа Обект на момчето Студент, с това правим преобразуване, подобно на това, което използваме с примитивни типове променливи.
instanceofДруго нещо, което можем да използваме, за да сме сигурни, че всичко ще работи, когато работим с отливките на обектите, е запазената дума instanceof с него можем да знаем дали обект е екземпляр на определен клас, с това можем да създадем нови условия и да изпълним само кастинг например, когато обектът е екземпляр на определен клас.
Например:
 Обект myObject = нов кръг (); if (myObject instanceof Circle) {System.out.println ("Диаметърът на кръга е:" + ((Circle) myObject) .getDiameter ()); } 

Тук виждаме тогава как първо правим a неявно леене, декларирахме обект от класа Object и след това му дадохме тип Circle, след това питаме, че в условието if (), ако обектът е екземпляр на Circle, ако отговорът е положителен, отиваме във вътрешния блок, отново правим кастинг този път изрично и извикваме метод на класа.
Както виждаме, извършването на тази процедура не е сложно, само че трябва да сме наясно как работи Java и йерархичната структура, носена от класовете и техните екземпляри. С това приключваме този урок и можем да правим леене на обекти, а също така можем да знаем от кой клас са те.Хареса ли ви и помогнахте на този урок?Можете да възнаградите автора, като натиснете този бутон, за да му дадете положителна точка

Така ще помогнете за развитието на сайта, сподели с приятелите си

wave wave wave wave wave