Шта је употреба апстрактне методе у Јави?



Овај чланак о апстрактној методи у Јави помоћи ће вам да научите како да постигнете апстракцију када користите програмирање апстрактних класа и метода у Јави

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

Теме о којима се говори у овом чланку су следеће:





Шта је апстрактни час?

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

У наставку су наведене неке кључне тачке у вези са апстрактном наставом:



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

Класа која је проглашена апстрактном може укључивати или не апстрактне методе. Али, шта је заправо апстрактна метода?

јава разлика између бацања и бацања

Шта је апстрактна метода?

Метода декларисана без тела (без примене)у оквиру апстрактне класе је апстрактна метода. Другим речима, ако желите а класа да садржи одређену методу, али желите да стварну имплементацију те методе одређују подређене класе, тада можете методу у матичној класи прогласити апстрактном.

динамичко додељивање меморије у језику ц ++ са примером програма

Ево како апстрактна метода изгледа у Јави:



апстрактно јавно празно станиште ()

Кључне карактеристике апстрактне методе

У наставку су наведене кључне карактеристике апстрактне методе:

  • Апстрактне методе немају имплементацију (тело), ​​оне само имају потпис методе као што је приказано у горњем примеру
  • Ако класа има апстрактну методу, треба је прогласити апстрактном, обрнуто није тачно
  • Уместо коврџавих заграда, апстрактна метода ће на крају имати тачку и зарез
  • Ако редовна настава проширује апстрактну класу, тада класа мора да примени све апстрактне методе те класе или такође мора бити проглашена апстрактном

Пример програма: Апстрактна метода у Јави

Погледајте пример програма да бисте разумели како се апстракција постиже коришћењем апстрактних класа и апстрактних метода. Погледајте.

пакет МиПацкаге // апстрактна класа апстрактна класа Анимал {Стринг АнималНаме = '' Анимал (име низа) {тхис.АнималНаме = наме} // декларише апстрактне методе // има подразумевану имплементацију публиц воид БасицИнфо (детаљи низа) {Систем. оут.принтлн (тхис.АнималНаме + '' + детаљи)} // апстрактне методе које ће се // применити у њиховим подразредима (абстрактима) јавно празно станиште () апстрактно јавно празно дисање ()} класа Террестриал ектендс Анимал {// конструктор Земаљски (назив низа) {супер (име)} @Преузми јавно празно станиште () {Систем.оут.принтлн ('остави на копну и')} @ Преведи јавно празно дисање () {Систем.оут.принтлн ('респире кроз плућа или душник. ')}} класа Акуатиц проширује Анимал {// конструктор Акуатиц (име низа) {супер (име)} @ Надјачај јавно празно станиште () {Систем.оут.принтлн (' Оставља у води и ') } @Оверриде јавно воид дисање () {Систем.оут.принтлн ('дисање кроз шкрге или њихову кожу.')}} Цласс АбстрацтЦлассДемо {публиц статиц вои д маин (Стринг [] аргс) {// стварање објекта земаљске класе // и коришћење референце класе Анимал. Анимал објецт1 = нев Террестриал ('Хуманс') објецт1.БасицИнфо ('су копнена бића, они') објецт1.хабитат () објецт1.респиратион () Систем.оут.принтлн ('') // стварање објеката класе круга Анимал објецт2 = нев Акуатиц ('Фисхес') објецт2.БасицИнфо ('су водена бића, она') објецт2.хабитат () објецт2.респиратион ()}}

Излаз:

Метода Основни подаци () је коју користе обојица Земаљски и Водени класе. Методе станиште () и дисање() су апстрактне методе и немају никакву примену, само потпис. Земаљски и Водени часови морају да обезбеде сопствену примену за обе ове методе. Такође, имајте на уму да обе методе почињу са кључном речи апстрактан . У овом тренутку можда се питате како је апстрактни час различит од приступ .

Интерфејс у ​​Јави

идите на функцију у питхон-у

Други начин постизања одвајање у Јави је помоћу интерфејси . Интерфејс је скуп апстрактних метода, он нема конкретно , за разлику од апстрактне класе. Али за разлику од апстрактне класе, интерфејс пружа потпуну апстракцију у Јави. Може имати и методе и променљиве као и класа. Међутим, методе декларисане у интерфејсу су подразумевано апстрактне.

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

Ово нас доводи до краја овог чланка „Апстрактна метода у Јави“. Обрадио сам једно од најчешће постављаних питања , што је апстрактна класа на Јави.

Обавезно вежбајте што је више могуће и вратите своје искуство.

Погледајте Едурека, поуздана компанија за учење на мрежи са мрежом од више од 250 000 задовољних ученика раширених широм света. Имате питање за нас? Молимо вас да га поменете у одељку за коментаре овог „Апстрактног метода у Јави“ чланак и јавићемо вам се у најкраћем могућем року.