Полиморфизм — одна из трех основных парадигм ООП. Если говорить кратко, полиморфизм — это способность обьекта использовать методы производного класса, который не существует на момент создания базового. http://java-course.ru/begin/polymorphism/
Полиморфизм как бы группирует однотипные классы под одним "интерфейсом".
Пример
Полиморфизм как бы группирует однотипные классы под одним "интерфейсом".
Пример
public class food {
void eat(){ - создаем метод
System.out.println("This food is great");
}
}
public class potpie extends food{
void eat(){
System.out.println("This potpie is great"); - оверрайт метода из фуда делаем своим текстом
}
}
public class tuna extends food{
void eat(){
System.out.println("This tuna really is great");-так же оверрайд фуда
}
}
class apples {
public static void main(String[] args){
food bucky[]=new food[2]; - создаем ARRAY
bucky[0]=new potpie(); - 1 эррэй
bucky[1]=new tuna(); -2 эррэй
for(int x=0; x<2; ++x){ - фор луп
bucky[x].eat();
}
}
}
И результат такой:
This potpie is great
This tuna really is great
So, basically polymorphic arrays are a way to extent the idea of the class hierarchy? You're array being cast as a superclass type lets you hold an infinite number of subclass types, each with their own unique behavior.
Basically Polymorphism is were you have a basic class with all of the details. And your polymorphic classes and methods are those who take those variables and the data and change them (morph) to be that thing by adding the specific details that make up the thing (For example Skin Sinze And Attack Method)
----------------------------------------------------------------------------------------------------------------------------------------------------------------
ЕЩЕ 1 очень странная штука, которую объяснить крайне сложно
polymorphic arguments
создаем еще 1 класс fatty например
public class fatty {
public void digest(food x){ -- eat уже нельзя использовать т.к. в употреблении
x.eat(); -указываем какой метод будет использован
}
}
идем в класс apples и начинается интересное
class apples {
public static void main(String[] args){
fatty bucky=new fatty(); - создаем объект bucky что б можно было использовать все в классе фэти
food fo=new food(); -это для метода дайджест, потому что фуд обжект как аргумент взял
food po=new potpie(); -это сабкласс класса суперкласс фуд
bucky.digest(fo); - колл баки обжект with digest as the food object as my argument
bucky.digest(po); -called potpie object as my argument
}
}
РЕЗУЛЬТАТ:
This food is great
This potpie is great
Комментариев нет:
Отправить комментарий