Sobes.tech
Junior — Middle

Kā īstenot mantošanu no sealed klases?

sobes.tech AI

Atbilde no AI

Kotlinā klase, kas ir deklarēta kā sealed, ierobežo mantošanu tikai tajā pašā failā, kurā tā ir deklarēta. Tas nozīmē, ka no sealed klases var manto tikai tajā pašā failā, kur tā ir definēta.

Ja klase ir deklarēta kā sealed un atrodas citā failā, no tās nevar manto.

Lai īstenotu mantošanu no sealed klases, ir jā:

  • atrasties tajā pašā failā, kur ir deklarēta sealed klase,
  • un deklarēt apakšklases šajā failā.

Piemērs:

sealed class Result

class Success(val data: String) : Result()
class Error(val error: Throwable) : Result()

Ja nepieciešama paplašināmība ārpus faila, sealed nav piemērots; jāizmanto parasta atvērta klase vai interfeiss.