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

Апстрактне методе су методе без имплементације. Апстрактна класа може имати апстрактне методе или конкретне (нормалне) методе.

Питхон не подржава директно апстрактне методе, али можете им приступити путем абц (апстрактна основна класа) модул.

Коришћење абц модула у Питхону

Да бисте дефинисали апстрактну класу у Питхону, морате увоз модул абц.

Погледајте пример испод:

из АБЦ увоза АБЦ
класа АбстрацтЦлассНаме (АБЦ):
проћи

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

Повезан: Хоће ли Јулиа дати понуду за Питхон'с Тхроне?

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

instagram viewer

Да бисте дефинисали апстрактну методу у Питхону, користите @абстрацтметход декоратор:

фром абц импорт АБЦ, абстрацтметход
класа АбстрацтЦлассНаме (АБЦ):
@абстрацтметход
деф абстрацтМетход (селф):
проћи

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

импорт абц
класа АбстрацтЦласс (АБЦ):
деф __инит __ (себе, вредност):
селф.валуе = вредност
супер () .__ инит __ ()
@абц.абстрацтметход
деф соме_ацтион (селф):
принт ("Ово је надређена имплементација.")
класа МиСубцласс (АбстрацтЦлассЕкампле):
деф соме_ацтион (селф):
супер (). соме_ацтион ()
принт ("Ово је имплементација поткласе. ")
к = МиСубцласс ()
к.соме_ацтион ()

Занимљиво је напоменути да конструктор можете дефинисати у апстрактној класи.

На линији 9 то можете приметити @абц.абстрацтметход је коришћен као декоратер апстрактних метода. Ово је други начин да то учините, осим претходног обрасца. Такође приметите да је први ред краћи (импорт абц) него претходни увоз првог реда који сте користили.

Све је ствар избора. Међутим, многима ће други метод бити краћи.

Руковање изузецима у Питхону

Имајте на уму да нема начина за хватање грешака у горе наведеном примеру кода. Грешке се јављају чешће него не, а поуздан начин да их добијете може променити игру.

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

ОбјавиТвеетЕмаил
Како се носити са изузецима у Питхону

Покријте своје базе кодирања Питхон изузецима.

Прочитајте следеће

Повезане теме
  • Програмирање
  • Програмирање
  • Питхон
  • Програмски језици
О аутору
Јероме Давидсон (24 објављена чланка)

Јероме је писац особља на МакеУсеОф -у. Он покрива чланке о програмирању и Линуку. Он је такође ентузијаст за крипто и увек прати крипто индустрију.

Више од Јеромеа Давидсона

Претплатите се на наш билтен

Придружите се нашем билтену за техничке савете, критике, бесплатне е -књиге и ексклузивне понуде!

Кликните овде да бисте се претплатили