logo

ПОЈО

ПОЈО у Јави је скраћеница за Плаин Олд Јава Објецт. То је обичан објекат, који није везан никаквим посебним ограничењем. ПОЈО фајл не захтева никакву посебну путању до класе. Повећава читљивост и поновну употребљивост Јава програма.

ПОЈО су сада широко прихваћени због лаког одржавања. Лако се читају и пишу. ПОЈО класа нема никакву конвенцију о именовању својстава и метода. Није везан ни за шта Јава Фрамеворк; било који Јава програм може да га користи.

Термин ПОЈО је увео Мартин Фовлер (Амерички програмер софтвера) 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 

Из горњег примера можемо видети да смо приступили својствима класе ПОЈО у МаинЦласс.јава.

ПОЈО је сличан Беан Цлассу, тако да се људи често збуне између њих; да видимо разлику између ПОЈО-а и Беан-а.

Јава Беан

Јава Беан класа је такође класа објеката која инкапсулира неколико објеката у једну датотеку (Беан Цласс Филе). Постоје неке разлике између ПОЈО-а и Беан-а.

Јава ПОЈО и Беан укратко:

  • Све датотеке Беан-а могу бити ПОЈО-ови, али нису сви ПОЈО-ови беан-ови.
  • Све датотеке Беан-а могу имплементирати интерфејс који се може серијализовати, али не могу сви ПОЈО-ови имплементирати интерфејс који се може серијализовати.
  • Оба својства треба да буду приватна да би имали потпуну контролу над пољима.
  • Својства морају имати геттере и сеттере да би им приступила у другим Јава програмима.
  • Класа Беан је подскуп класе ПОЈО.
  • Не постоји велики недостатак коришћења ПОЈО, али неколико недостатака може бити коришћење класе Беан.
  • ПОЈО се користи када желимо да обезбедимо пун приступ корисницима и ограничимо наше чланове. А, Беан се користи када желимо да обезбедимо делимичан приступ члановима.

ПОЈО Вс. Беан

ПОЈО Беан
У Појоу нема посебних ограничења осим Јава конвенција. То је посебна врста ПОЈО датотека, које имају нека посебна ограничења осим Јава конвенција.
Пружа мању контролу над пољима у поређењу са Беан-ом. Пружа потпуну заштиту на пољима.
ПОЈО датотека може имплементирати интерфејс који се може серијализирати; али, није обавезно. Класа Беан треба да имплементира интерфејс који се може серијализирати.
ПОЈО класи се може приступити коришћењем њихових имена. Беан класи се може приступити само коришћењем геттера и сеттера.
Поља могу имати било који од модификатора приступа као што су јавни, приватни, заштићени. Поља могу имати само приватни приступ.
У ПОЈО-у није неопходно имати конструктор без аргумента; може га имати или не имати. Мора да има конструктор без аргумента.
Не постоји никакав недостатак коришћења ПОЈО-а Недостатак коришћења Беан-а је у томе што подразумевани конструктор и јавни постављач могу да промене стање објекта када би требало да буде непроменљиво.