1. Наш канал codeby в telegram. Пишем об информационной безопасности, методах защиты информации, о программировании. Не пропускай новости с кодебай, будь в тренде ! Подробнее ...

    Скрыть объявление

помогите чайнику )

Тема в разделе "Java", создана пользователем yamahar1sp, 5 май 2007.

Статус темы:
Закрыта.
  1. yamahar1sp

    yamahar1sp Гость

    Репутация:
    0
    Подскажите:
    как можно определить что-то типо процедурного типа или классового метода(как в Delphi), который можно будет определять позже, но юзать сейчас, создавая при этом объекты данного класса?
    не используя интерфейсы (интерфейсные ссылки). :D
     
  2. 1r0n

    1r0n Гость

    Репутация:
    0
    я чтото не понял ;) Как ты собираешся использовать метод, если он не определён? Можно оставить пустым. Ну а потом можно просто перегрузить и всё. Примерно так.

    Код:
    public class MyClass {
    
    public void method() {}
    
    } 
    
    ...а потом...
    
    MyClass obj = new MyClass() {
    public void method()
    {
    //что тебе надо
    }
    };
     
  3. Siarhei Berdachuk

    Siarhei Berdachuk Гость

    Репутация:
    0
    Создаешь абстрактный класс с типовой реализацией методов или пустышками, а потом создаешь его наследников и переопределяешь методы если потребуется.
    Пример
    Код:
    public abstract class A {
    
    public void myMethod() {
    // bla bla bla;
    }
    }
    
    public class B extends A {
    
    public void myMethod() {
    // bla bla bla;
    }
    }
     
  4. LuMee

    LuMee Well-Known Member

    Репутация:
    0
    Регистрация:
    2 май 2006
    Сообщения:
    477
    Симпатии:
    0
    Для: Siarhei Berdachuk
    Вместо пустышек лучше использовать абстрактные методы:
    Код:
    public abstract class A {
    
    public abstract void myMethod();
    }
    
    public class B extends A {
    
    public void myMethod() {
    // bla bla bla;
    }
    }
    Для: yamahar1sp
    А чем интерфейсы не угодили? Они все же погибче будут.
     
  5. Siarhei Berdachuk

    Siarhei Berdachuk Гость

    Репутация:
    0
    Читаем внимательно первый пост. Там явно указано, что без интерфейсов.
    Мало ли зачем это человеку надо, может к собеседованию готовится ;)

    Кстати вполне возможно использовать и не определенные заранее методы.
    Мало ли какая архитектура программы. Мне доводилось писать код, который брал наименования
    классов, методов и параметров из БД например для выполнения некоторого действия.
    Потом динамически подгружаем класс, проверяем его методы проверяем наличие таких
    методов и выполняем.
    Этот подход позволяет строить гибко настраиваемые и масштабируемые системы.
    Но и гемора добавляется на порядок. Обязательно нужно все четко документировать в проекте
    так как через год сам не понимаешь что за что отвечает и как оно умудряется работать.
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей