Sobes.tech
Junior

Фарқи байни объектии оддӣ ва JavaBean чист?

sobes.tech AI

Ҷавоб аз AI

Фарқ, кириш методлари учун номланиш қоидаларига ("get/set/is"дан кейин катта ҳарф) риоя қилиш, аргументсиз конструкторнинг мавжудлиги ва сериаллашувчанлик билан боғлиқдир. Бу JavaBean-ларни интроспекцияга асосланган фреймворклар ва инструментлар билан ишлатишга имкон беради.

Оддий объект бу қоидаларга риоя қилмаслиги мумкин.

public class SimpleObject {
    private String name;

    public SimpleObject(String name) { // Ҳар қандай конструктор
        this.name = name;
    }

    public String retrieveName() { // Стандарт бўлмаган get номланиши
        return name;
    }
}
import java.io.Serializable;

public class JavaBean implements Serializable { // Серилаш мумкин
    private String name;

    public JavaBean() { // Аргументсиз конструктор
    }

    public String getName() { // Стандарт геттер номланиши
        return name;
    }

    public void setName(String name) { // Стандарт сеттер номланиши
        this.name = name;
    }
}

Асосий фарқлар:

Меҳон Оддий объект JavaBean
Аргументсиз конструктор Мажбурий эмас Мажбурий
Методлар номланиши Ҳар қандай get/set/is + хусусият номи
Серилаш имконияти Мажбурий эмас Талаб қилинади/кейинги фреймворлар учун мажбурий
Қўлланиш Умумий мақсад Компонент модели, фреймворлар (Spring, EJB)