JavaBeans

Материал из Википедии — свободной энциклопедии

Перейти к: навигация, поиск

JavaBeans — классы в языке Java, написанные по определённым правилам. Они используются для объединения нескольких объектов в один (bean) для удобной передачи данных.

Спецификация Sun Microsystems определяет JavaBeans, как "универсальные программные компоненты, которые могут управляться с помощью графического интерфейса" ("reusable software components that can be manipulated visually in a builder tool").

JavaBeans обеспечивают основу для многократно используемых, встраиваемых и модульных компонентов ПО. Компоненты JavaBeans могут принимать различные формы, но наиболее широко они применяются в элементах графического пользовательского интерфейса. Одна из целей создания JavaBeans - взаимодействие с похожими компонентными структурами. Например, Windows-программа, при наличии соответствующего моста или объекта-обёртки, может использовать компонент JavaBeans так, будто бы он является компонентом COM или ActiveX.

[править] Правила описания JavaBean

Чтобы класс мог работать как bean, он должен соответствовать определённым соглашениям об именах методов, конструкторе и поведении. Эти соглашения дают возможность создания инструментов, которые могут использовать, замещать и соединять JavaBeans.

Правила описания гласят:

  • Класс должен иметь public конструктор без параметров. Такой конструктор позволяет инструментам создать объект без дополнительных сложностей с параметрами.
  • Свойства класса должны быть доступны через get, set и другие методы (так называемые методы доступа), которые подчинятся стантдартному соглашению об именах. Это легко позволяет инструментам автоматически определять и обновлять содержание bean'ов. Многие инструменты даже имеют специализированные редакторы для различных типов свойств.
  • Класс должен быть сериализуем. Это даёт возможность надёжно сохранять, хранить и восстанавливать состояние bean независимым от платформы и виртуальной машины способом.
  • Он не должен содержать никаких методов обработки событий.

Т.к. требования в основном изложены в виде соглашения, а не интерфейса, некоторые разработчики рассматривают JavaBeans, как Plain Old Java Objectы, которые следуют определённым правилам именования.

[править] Примеры

// PersonBean.java

public class PersonBean implements java.io.Serializable {
    private String name;
    private boolean deceased;

    // Default constructor (takes no arguments).
    public PersonBean() {
    }

    public String getName() {
        return (this.name);
    }
    public void setName(String name) {
        this.name = name;
    }
    // Different semantics for a boolean field (is vs. get)
    public boolean isDeceased() {
        return (this.deceased);
    }
    public void setDeceased(boolean deceased) {
        this.deceased = deceased;
    }
}
// TestPersonBean.java

public class TestPersonBean {
    public static void main(String[] args) {

        PersonBean person = new PersonBean();
        person.setName("Bob");
        person.setDeceased(true);

        // Output: "Bob [deceased]"
        System.out.print(person.getName());
        System.out.println(person.isDeceased() ? " [deceased]" : "");
    }
}
Источник — «http://ru.wikipedia.org/wiki/JavaBeans»