ПОЈО у Јави је скраћеница за Плаин Олд Јава Објецт. То је обичан објекат, који није везан никаквим посебним ограничењем. ПОЈО фајл не захтева никакву посебну путању до класе. Повећава читљивост и поновну употребљивост Јава програма.
ПОЈО су сада широко прихваћени због лаког одржавања. Лако се читају и пишу. ПОЈО класа нема никакву конвенцију о именовању својстава и метода. Није везан ни за шта Јава Фрамеворк; било који Јава програм може да га користи.
Термин ПОЈО је увео Мартин Фовлер (Амерички програмер софтвера) 2000. доступан је у Јави од ЕЈБ 3.0 од стране Сун мицросистем.
Генерално, ПОЈО класа садржи променљиве и њихове Гетере и Сетере.
ПОЈО класе су сличне Беанс-у јер се обе користе за дефинисање објеката ради повећања читљивости и поновне употребе. Једина разлика између њих је што Беан датотеке имају нека ограничења, али ПОЈО датотеке немају никаква посебна ограничења.
Пример:
ПОЈО класа се користи за дефинисање ентитета објекта. На пример, можемо креирати класу Емплоиее ПОЈО да бисмо дефинисали њене објекте.
Испод је пример Јава ПОЈО класе:
Емплоиее.јава:
// POJO class Exmaple package Jtp.PojoDemo; public class Employee { private String name; private String id; private double sal; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getId() { return id; } public void setId(String id) { this.id = id; } public double getSal() { return sal; } public void setSal(double sal) { this.sal = sal; } }
Горња класа запослених је пример ПОЈО класе запослених. Ако радите на Ецлипсе-у, можете лако да генеришете Сеттере и Геттерс десним кликом на Јава програм и идите на Извор-> Генериши Геттерс и Сеттерс.
Кликните десним тастером миша на Јава програм и изаберите Генерате Геттерс анд Сеттерс.
Сада кликните на Генериши опција дата на дну прозора Генерисање. Он ће аутоматски генерисати сетере и геттере.
наслеђивање у Ц++
Особине ПОЈО класе
Испод су нека својства класе ПОЈО:
- ПОЈО класа мора бити јавна.
- Мора да има јавни подразумевани конструктор.
- Можда има конструктор аргумената.
- Сви објекти морају имати неке јавне Геттерс и Сеттерс да би приступили вредностима објеката од стране других Јава програма.
- Објекат у ПОЈО класи може имати било које измене приступа као што су приватни, јавни, заштићени. Али, све варијабле инстанце треба да буду приватне ради побољшања безбедности пројекта.
- ПОЈО класа не би требало да проширује унапред дефинисане класе.
- Не би требало да имплементира унапред одређене интерфејсе.
- Не би требало да има никакву унапред одређену напомену.
Рад ПОЈО класе
ПОЈО класа је класа објеката која обухвата пословну логику. У МВЦ архитектури, контролер је у интеракцији са пословном логиком, која контактира са ПОЈО класом да би приступила подацима.
Испод је рад ПОЈО класе.
Како користити ПОЈО класу у Јава програму
ПОЈО класа је креирана да користи објекте у другим Јава програмима. Главна предност ПОЈО класе је у томе што нећемо морати сваки пут да креирамо објекте у другим Јава програмима. Једноставно можемо приступити објектима коришћењем метода гет() и сет().
Да бисте приступили објектима из ПОЈО класе, пратите следеће кораке:
- Креирајте објекте класе ПОЈО
- Подесите вредности помоћу методе сет().
- Добијте вредности помоћу методе гет().
На пример, направите датотеку класе МаинЦласс.јава у оквиру истог пакета и у њу упишите следећи код:
јава добија тренутно време
МаинЦласс.јава:
//Using POJO class objects in MainClass Java program package Jtp.PojoDemo; public class MainClass { public static void main(String[] args) { // Create an Employee class object Employee obj= new Employee(); obj.setName('Alisha'); // Setting the values using the set() method obj.setId('A001'); obj.setSal(200000); System.out.println('Name: '+ obj.getName()); //Getting the values using the get() method System.out.println('Id: ' + obj.getId()); System.out.println('Salary: ' +obj.getSal()); } }
Излаз:
Name: Alisha Id: A001 Salary: 200000.0
Из горњег примера можемо видети да смо приступили својствима класе ПОЈО у МаинЦласс.јава.
ПОЈО је сличан Беан Цлассу, тако да се људи често збуне између њих; да видимо разлику између ПОЈО-а и Беан-а.
Јава Беан
Јава Беан класа је такође класа објеката која инкапсулира неколико објеката у једну датотеку (Беан Цласс Филе). Постоје неке разлике између ПОЈО-а и Беан-а.
Јава ПОЈО и Беан укратко:
- Све датотеке Беан-а могу бити ПОЈО-ови, али нису сви ПОЈО-ови беан-ови.
- Све датотеке Беан-а могу имплементирати интерфејс који се може серијализовати, али не могу сви ПОЈО-ови имплементирати интерфејс који се може серијализовати.
- Оба својства треба да буду приватна да би имали потпуну контролу над пољима.
- Својства морају имати геттере и сеттере да би им приступила у другим Јава програмима.
- Класа Беан је подскуп класе ПОЈО.
- Не постоји велики недостатак коришћења ПОЈО, али неколико недостатака може бити коришћење класе Беан.
- ПОЈО се користи када желимо да обезбедимо пун приступ корисницима и ограничимо наше чланове. А, Беан се користи када желимо да обезбедимо делимичан приступ члановима.
ПОЈО Вс. Беан
ПОЈО | Беан |
---|---|
У Појоу нема посебних ограничења осим Јава конвенција. | То је посебна врста ПОЈО датотека, које имају нека посебна ограничења осим Јава конвенција. |
Пружа мању контролу над пољима у поређењу са Беан-ом. | Пружа потпуну заштиту на пољима. |
ПОЈО датотека може имплементирати интерфејс који се може серијализирати; али, није обавезно. | Класа Беан треба да имплементира интерфејс који се може серијализирати. |
ПОЈО класи се може приступити коришћењем њихових имена. | Беан класи се може приступити само коришћењем геттера и сеттера. |
Поља могу имати било који од модификатора приступа као што су јавни, приватни, заштићени. | Поља могу имати само приватни приступ. |
У ПОЈО-у није неопходно имати конструктор без аргумента; може га имати или не имати. | Мора да има конструктор без аргумента. |
Не постоји никакав недостатак коришћења ПОЈО-а | Недостатак коришћења Беан-а је у томе што подразумевани конструктор и јавни постављач могу да промене стање објекта када би требало да буде непроменљиво. |