Në Java: Cili është ndryshimi midis klasës përfundimtare dhe (klasës abstrakte pa metoda abstrakte)?


përgjigje 1:

TLDR;

Një vit i moshuar thuhet se është përfundimtar. Do të thotë që nuk mund të zgjerohet, asnjë nënklasë dhe sjellja e saj është përfundimtare, e pandryshueshme.

Nga ana tjetër, një klasë abstrakte duhet të trashëgohet. Ai përcakton sjelljen e përgjithshme ose të përgjithshme të klasave të saj vartëse. Nënklasa juaj më pas përcakton sjelljen "pak" të ndryshme. Sidoqoftë, një klasë abstrakte pa një metodë abstrakte nuk ka kuptim, pasi ajo tashmë përcakton sjelljen e plotë. Ju madje mund të hiqni fjalen abstrakte nga deklarata e klasës nëse asnjë metodë nuk shpallet abstrakte.


përgjigje 2:

Klasa abstrakte dhe metodat abstrakte janë koncepte të pavarura. Edhe nëse një klasë abstrakte nuk ka metoda abstrakte, rregullat që vlejnë për klasën abstrakte ende zbatohen.

Klasa abstrakte ende nuk mund të fillohet. Një klasë duhet të trashëgojë klasën abstrakte në mënyrë që të përdor trupin e saj dhe zbatimin e saj. Klasa e fundit, nga ana tjetër, duhet të bëhet menjëherë dhe nuk mund të zgjerohet më tej.


përgjigje 3:

Klasa abstrakte dhe metodat abstrakte janë koncepte të pavarura. Edhe nëse një klasë abstrakte nuk ka metoda abstrakte, rregullat që vlejnë për klasën abstrakte ende zbatohen.

Klasa abstrakte ende nuk mund të fillohet. Një klasë duhet të trashëgojë klasën abstrakte në mënyrë që të përdor trupin e saj dhe zbatimin e saj. Klasa e fundit, nga ana tjetër, duhet të bëhet menjëherë dhe nuk mund të zgjerohet më tej.


përgjigje 4:

Klasa abstrakte dhe metodat abstrakte janë koncepte të pavarura. Edhe nëse një klasë abstrakte nuk ka metoda abstrakte, rregullat që vlejnë për klasën abstrakte ende zbatohen.

Klasa abstrakte ende nuk mund të fillohet. Një klasë duhet të trashëgojë klasën abstrakte në mënyrë që të përdor trupin e saj dhe zbatimin e saj. Klasa e fundit, nga ana tjetër, duhet të bëhet menjëherë dhe nuk mund të zgjerohet më tej.