Из всего кода совсем не понимаю как отрабатывает ключевое слово super. Во всех моментах этого кода, помогите разобраться пожалуйста!
public abstract class AbstractPhone {
int year;
public AbstractPhone(int year){
this.year = year;
}
public abstract void call(int outputNumber);
public abstract void ring(int inputNumber);
}
public class User {
private String name;
public User(String name) {
this.name = name;
}
public void callAnotherUser(int number, AbstractPhone phone){
// вот он полиморфизм - использование в коде абстактного типа AbstractPhone phone!
phone.call(number);
}
}
}
public class ThomasEdisonPhone extends AbstractPhone {
public ThomasEdisonPhone(int year) {
super(year);
}
@Override
public void call(int outputNumber) {
System.out.println("Вращайте ручку");
System.out.println("Сообщите номер абонента, сэр");
}
@Override
public void ring(int inputNumber) {
System.out.println("Телефон звонит");
}
}
public class Phone extends AbstractPhone {
public Phone(int year) {
super(year);
}
@Override
public void call(int outputNumber) {
System.out.println("Вызываю номер" + outputNumber);
}
@Override
public void ring(int inputNumber) {
System.out.println("Телефон звонит");
}
}
public class VideoPhone extends AbstractPhone {
public VideoPhone(int year) {
super(year);
}
@Override
public void call(int outputNumber) {
System.out.println("Подключаю видеоканал для абонента " + outputNumber );
}
@Override
public void ring(int inputNumber) {
System.out.println("У вас входящий видеовызов..." + inputNumber);
}
}
AbstractPhone firstPhone = new ThomasEdisonPhone(1879);
AbstractPhone phone = new Phone(1984);
AbstractPhone videoPhone=new VideoPhone(2018);
User user = new User("Андрей");
user.callAnotherUser(224466,firstPhone);
// Вращайте ручку
//Сообщите номер абонента, сэр
user.callAnotherUser(224466,phone);
//Вызываю номер 224466
user.callAnotherUser(224466,videoPhone);
//Подключаю видеоканал для абонента 224466
Только почитайте базовую литературу, а то туго придётся потом
class test{
public static void main(String[] args){
AbstractPhone firstPhone = new ThomasEdisonPhone(1879);
AbstractPhone phone = new Phone(1984);
AbstractPhone videoPhone=new VideoPhone(2018);
User user = new User("Андрей");
user.callAnotherUser(224466,firstPhone);
// Вращайте ручку
//Сообщите номер абонента, сэр
user.callAnotherUser(224466,phone);
//Вызываю номер 224466
user.callAnotherUser(224466,videoPhone);
}
}
class VideoPhone extends AbstractPhone {
public VideoPhone(int year) {
super(year);
}
@Override
public void call(int outputNumber) {
System.out.println("Подключаю видеоканал для абонента " + outputNumber );
}
@Override
public void ring(int inputNumber) {
System.out.println("У вас входящий видеовызов..." + inputNumber);
}
}
class Phone extends AbstractPhone {
public Phone(int year) {
super(year);
}
@Override
public void call(int outputNumber) {
System.out.println("Вызываю номер" + outputNumber);
}
@Override
public void ring(int inputNumber) {
System.out.println("Телефон звонит");
}
}
class ThomasEdisonPhone extends AbstractPhone {
public ThomasEdisonPhone(int year) {
super(year);
}
@Override
public void call(int outputNumber) {
System.out.println("Вращайте ручку");
System.out.println("Сообщите номер абонента, сэр");
}
@Override
public void ring(int inputNumber) {
System.out.println("Телефон звонит");
}
}
class User {
private String name;
public User(String name) {
this.name = name;
}
public void callAnotherUser(int number, AbstractPhone phone){
// вот он полиморфизм - использование в коде абстактного типа AbstractPhone phone!
phone.call(number);
}
};
abstract class AbstractPhone {
int year;
protected AbstractPhone(int year){this.year = year;};
public abstract void call(int outputNumber);
public abstract void ring(int inputNumber);
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Есть блок, хочу сделать плавный переход на белый цвет1 вариант - svg - не шарю, и не хочу кешировать, с png такая же история
Прошу помощи так как абсолютно не понимаю в javascript
Здравствуйте юзаю fusionchart + vue для всяких диаграмм, возникла проблема при выводе данных через jsonформаты данных разные, но вывод данных со своей...