Све што треба да знате има везу на Јави



Овај чланак ће вам пружити детаљно и разумљиво знање о вези у Јава-и и различитим применама.

Има везу у и Је ли веза два су збуњујућа израза. У овом чланку ћемо се фокусирати на следеће параметре:

класа адаптера у јави са примером

Увод у Има везе на Јави

Познато је да има однос на Јави као Цомпоситион. Користи се за поновну употребу кода. У основи, то значи да инстанца једне класе има референцу на инстанцу друге класе или друге инстанце исте класе. Ова веза помаже да се минимизира дуплирање кода као и грешака.





Састав је облик удруживања. Асоцијација је позната као однос између две одвојене класе које су ауторизоване преко њихових објеката. Удружење може бити у облику:

  1. Један на један



  2. Један према многима

  3. Много према једном

  4. Много-многима



У ООП (Објектно оријентисано програмирање), Објецт комуницира са другим објектом како би користио све услуге и функционалности које пружа тај објекат.

Удружење

Ево примера примене Удружења.

импорт јава.ио. * цласс Банк {привате Стринг наме Банк (Стринг наме) {тхис.наме = наме} публиц Стринг гетБанкНаме () {ретурн тхис.наме}} цласс Запослени {привате Стринг наме Емплоиее (Стринг наме) {тхис. наме = наме} публиц Стринг гетЕффициееНаме () {ретурн тхис.наме}} Удружење класе {публиц статиц воид маин (Стринг [] аргс) {Банк б = нев Банк ('Акис') Емплоиее е = нев Емплоиее ('Химансхи') Систем.оут.принтлн (е.гетЕффициееНаме () + 'је запосленик у' + б.гетБанкНаме ())}}

Излаз:

has-a-relationship-in-java

Ово је посебан облик удруживања:

  1. Ово представља однос са љубављу.

  2. Познато је као једносмерна асоцијација (једносмерна веза) На пример, одељење може имати наставнике, али обрнуто није тачно, па према томе и једносмерне природе.

Хајде сада да разговарамо о саставу

Композиција је ограничена форма у којој су два предмета у великој мери зависна један од другог. Када постоји композиција између два ентитета, састављени не може лежати без другог ентитета.

Ево примера библиотеке за приказ концепта композиције

импорт јава.ио. * импорт јава.утил. * цласс Боок {публиц Стринг титле публиц Стринг аутхор Боок (Стринг титле, Стринг аутхор) {тхис.титле = титле тхис.аутхор = аутхор}} цласс Либрари {привате финал Листа књига Библиотека (Листа књига) {тхис.боокс = боокс} јавна листа гетТоталБооксИнЛибрари () {повратак књига}} цласс едурека {публиц статиц воид маин (Стринг [] аргс) {Боок б2 = нев Боок ('Тхинкинг Јава', 'Бруа Е' ) Књига б3 = нова књига ('Јава: Комплетна референца', 'Херб С') Листа књига = нови АрраиЛист () боокс.адд (б2) боокс.адд (б3) Библиотека библиотеке = нова библиотека (књиге) Листа бкс = библиотека .гетТоталБооксИнЛибрари () за (Књига бк: бкс) {Систем.оут.принтлн ('Наслов:' + бк.титле + 'и' + 'Аутор:' + бк.аутхор)}}}

Излаз:

оператер резолуције опсега ц ++

Једна од главних предности ООПС-а је могућност поновног коришћења кода. Постоје два начина на које можемо поново користити код за који се примењујенаследство или према саставу предмета.

Упоређивање композиције и наследства: веза

  • У композицији је лакше променити класу него у наслеђивању.

  • Наслеђивање је статично везивање, док је састав динамичко везивање.

  • Наслеђивање класе је дефинисано током времена компајлирања, док је састав објекта дефинисан у току извођења.

  • У композицији предмета, унутрашњи детаљи не би требало да се излажу једни другима и они комуницирају путем својих јавних интерфејса, док, У наследству, излажу и јавност и заштићене чланове основне класе.

  • У композицији приступ може бити ограничен, док у композицији објекта не постоји контрола приступа.

  • У наслеђивању, он прекида енкапсулацију излажући поткласу детаљима имплементације свог родитеља, док, у Објецт Цомпоситион, не прекида енкапсулацију јер се објектима у потпуности приступа преко њихових интерфејса.

  • У наслеђивању, он омогућава поновну употребу кода, док, у Објецт Цомпоситион, омогућава представљање асоцијација.

Пример 1:

класа Операција {инт квадрат (инт н) {повратак н * н}} класа Круг {Операција оп // агрегација доубле пи = 3,14 двострука површина (инт радијус) {оп = нев Оператион () инт рскуаре = оп.скуаре (радиус) // поновна употреба кода (тј. делегира позив методе). врати пи * рскуаре} јавна статичка празнина маин (Стринг аргс []) {Цирцле ц = нев Цирцле () доубле ресулт = ц.ареа (5) Систем.оут.принтлн (ресулт)}}

Излаз:

како се користи цхарат у јави

Пример 2:

цласс Хоусе {Кухиња к = нова Кухиња () // више кода за хоусе цласс} Разред Кухиња {// код кухиња цласс}

Ако кућа буде уништена, уништиће се и кухиња. Ово је познато као састав када су два ентитета зависна један од другог. Референтна класа (Кухиња) не би могла постојати без класе контејнера (Кућа).

Овим смо дошли до краја овог чланка Има однос у Јави. У основи, у композицији, класа може поново користити функционалност класе стварајући референцу на објекат класе коју жели да поново користи. Познат је као посебан случај агрегације.

Ц. извините Едурека, поуздана компанија за учење на мрежи са мрежом од више од 250.000 задовољних ученика раширених широм света. Едурекин курс за обуку и сертификацију Јава Ј2ЕЕ и СОА дизајниран је за студенте и професионалце који желе да буду Јава програмер.

Имате питање за нас? Молимо вас да га спомињете у одељку за коментаре овог блога „Има везе на Јави“ и јавићемо вам се што је пре могуће.