powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Java abstract method
3 сообщений из 3, страница 1 из 1
Java abstract method
    #38021011
scymaks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день! Ставил сегодня эксперименты и в голову пришел вот такой код:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
abstract class A {
    public abstract void f();
}

class ConcreteA extends A {
    @Override
    public void f() {
        System.out.println(getClass() + ".f()");
    }
}

abstract class B extends ConcreteA {
    public abstract void f();
}

class ConcreteB extends B {
    @Override
    public void f() {
        System.out.println(getClass() + ".f()");
    }
}

public class Main {
    public static void main(String[] args) {
        A a1 = new ConcreteA();
        a1.f();

        A a2 = new ConcreteB();
        a2.f();
    }
}



Вот только не могу понять, для чего ввели такую возможность?

В каких реальных задачах может такое понадобится?
...
Рейтинг: 0 / 0
Java abstract method
    #38021218
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
scymaksВот только не могу понять, для чего ввели такую возможность?
абстрактные методы - это:
- соглашение об интерфейсах ИЛИ заготовки на будущее когда некогда писать реализацию (прототипирование)
- название метода и сигнатура для автоматического вызова метода у самого старшего наследника при полиморфизме (машина сама разбирается какой объект вызывать для отрисовки ГУИ)
- соглашение об интерфейсах междумодульных в ИС (программист А передал абстрактное описание программисту Б, который использует его класс)
- .....
______________________________________________
"Сделай настолько просто, насколько это возможно, но не проще". © А. Эйнштейн.
AutoPOI.ru — ГИС-технологии для Oracle
...
Рейтинг: 0 / 0
Java abstract method
    #38022682
scymaks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,

Это всё понятно.

Вы может код не внимательно посмотрели..

Код: java
1.
2.
3.
4.
abstract class A {
    // абстрактный метод
    public abstract void f();
}



Код: java
1.
2.
3.
4.
5.
6.
7.
class ConcreteA extends A {
    // реализуем абстрактный метод
    @Override
    public void f() {
        System.out.println(getClass() + ".f()");
    }
}



Код: java
1.
2.
3.
4.
abstract class B extends ConcreteA {
    // Снова объявляем абстрактным (Зачем так можно???)
    public abstract void f();
}



Код: java
1.
2.
3.
4.
5.
6.
class ConcreteB extends B {
    @Override
    public void f() {
        System.out.println(getClass() + ".f()");
    }
}
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Java abstract method
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]