mobile theme mode icon
theme mode light icon theme mode dark icon
Random Question Рандом
speech play
speech pause
speech stop

Шта су Ундербуилдери у Јави?

Ундербуилдер је класа која обезбеђује подразумевану имплементацију буилдера за одређени тип. Другим речима, то је програмер који гради инстанце одређеног типа.ӕӕНа пример, рецимо да имате класу која се зове `Цар` и желите да обезбедите буилдер за њу. Можете дефинисати ундербуилдер овако:ӕ```ӕцласс ЦарБуилдер : Буилдер<Цар> {ӕ // Дефинишите подразумеване вредности за својства Царӕ привате вар цолор: Стринг = "ред"ӕ привате вар маке: Стринг = "тоиота "ӕ привате вар модел: Стринг = "цоролла"ӕ привате вар иеар: Инт = 2015ӕӕ // Дефинишите методе градитеља које се могу позвати за постављање својставаӕ фун витхЦолор(цолор: Стринг): ЦарБуилдер {ӕ тхис.цолор = цолорӕ ретурн тхисӕ }ӕӕ забава витхМаке(маке: Стринг): ЦарБуилдер {ӕ тхис.маке = макеӕ ретурн тхисӕ }ӕӕ фун витхМодел(модел: Стринг): ЦарБуилдер {ӕ тхис.модел = моделӕ ретурн тхисӕ }ӕӕ забава витхИеар(иеар: Инт) : ЦарБуилдер {ӕ тхис.иеар = иеарӕ ретурн тхисӕ }ӕӕ // Дефинишите метод за прављење Цар инстанцеӕ надјачава фун буилд(): Ауто {ӕ ретурн Цар(цолор, маке, модел, иеар)ӕ }ӕ}ӕ`` `ӕУ овом примеру, класа `ЦарБуилдер` је основа за класу `Цар`. Пружа подразумевану имплементацију програмера који се може користити за креирање инстанци `Цар`. Методе `витхЦолор`, `витхМаке`, `витхМодел` и `витхИеар` вам омогућавају да поставите својства инстанце `Цар`, а метода `буилд` се користи за стварно креирање инстанце `Цар`.ӕӕУндербуилдери су корисно када желите да обезбедите подразумевану имплементацију програмера за одређени тип, али такође желите да дозволите другим креаторима да прошире или модификују ту имплементацију. На пример, можда имате основни програмер који обезбеђује подразумевану имплементацију својстава, а онда други креатори могу да прошире тај основни креатор да би додали додатна својства или модификовали постојећа.

Knowway.org колачиће да би вам пружио бољу услугу. Коришћењем Knowway.org, пристајете на нашу употребу колачића. За детаљне информације можете прегледати нашу <а href ="/sr/cookie-policy"> Цоокие Полицy . close-policy