Полиморфизм
Полиморфизм — одно из важнейших понятий ООП, тесно связанное с наследованием. Слово полиморфизм происходит от слова полиморфный — то есть имеющий разные формы. Если есть родительские и дочерние объекты и в них есть одинаковые методы, то Java будет сама определять какой из методов нужно выполнить во время выполнения программы.
Рассмотрим на примере. Открываем Netbeans, файл MyFirstProgram. Для начала внесём изменения. В файле Computer.java изменим модификаторы доступа переменных с public на protected, чтобы получать к ним доступ из класса Notebook.
Изменим первый конструктор в классе Computer следующим образом:
public Computer(String name) { this.name = name; }
Класс Notebook переделаем следующим образом:
package testobject; public class Notebook extends Computer{ public Notebook(String name) { super(name); } public Notebook (String name, int ram, int hdd, double weight) { super(name, ram, hdd, weight); } @Override public void on(){ print("Notebook. Я включился. Моя модель " + getName()); } @Override public void load() { } }
Ключевое слово super говорит нам о том, что мы будем использовать переменные из родительского класса Computer. В общем наши файлы могут выглядеть примерно так: