WikiSort.ru - Не сортированное

ПОИСК ПО САЙТУ | о проекте
Не путать с Enterprise JavaBeans.

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

Спецификация Sun Microsystems определяет JavaBeans как повторно используемые программные компоненты, которыми можно управлять, используя графические конструкторы и средства IDE.

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

Правила описания JavaBean

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

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

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

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

Примеры

 1 // PersonBean.java
 2 
 3 public class PersonBean implements java.io.Serializable {
 4     private String name;
 5     private boolean deceased;
 6 
 7     // Методы геттеры (get) и сеттеры (set)
 8     public String getName() {
 9         return name;
10     }
11     public void setName(String name) {
12         this.name = name;
13     }
14     public boolean isDeceased() {
15         return deceased;
16     }
17     public void setDeceased(boolean deceased) {
18         this.deceased = deceased;
19     }
20 
21     //Переопределенные методы equals() и hashCode()
22     @Override
23     public boolean equals(Object o) {
24         if (this == o) {
25             return true;
26         }
27         if (o == null || getClass() != o.getClass()) {
28             return false;
29         }
30 
31         PersonBean that = (PersonBean) o;
32 
33         if (deceased != that.deceased) {
34             return false;
35         }
36         return !(name != null ? !name.equals(that.name) : that.name != null);
37 
38     }
39 
40     @Override
41     public int hashCode() {
42         int result = name != null ? name.hashCode() : 0;
43         result = 31 * result + (deceased ? 1 : 0);
44         return result;
45     }
46 
47     //Переопределенный метод toString()
48     @Override
49     public String toString() {
50         return "PersonBean{" +
51                 "name='" + name + '\'' +
52                 ", deceased=" + deceased +
53                 '}';
54     }
55 }
// TestPersonBean.java

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

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

        // Результат: "Bob [deceased]"
        System.out.print(person.getName());
        System.out.println(person.isDeceased() ? " [deceased]" : " [alive]");
    }
}

Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".

Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.

Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .




Текст в блоке "Читать" взят с сайта "Википедия" и доступен по лицензии Creative Commons Attribution-ShareAlike; в отдельных случаях могут действовать дополнительные условия.

Другой контент может иметь иную лицензию. Перед использованием материалов сайта WikiSort.ru внимательно изучите правила лицензирования конкретных элементов наполнения сайта.

2019-2024
WikiSort.ru - проект по пересортировке и дополнению контента Википедии