Реализации на Kotlin

Abstract factory

Общая реализация на языке Kotlin

Определение общего интерфейса инструментов

interface ITool {
    fun use()
}

Непосредственная реализация конкретных видов инструментов

abstract class AbstractHacksaw(
    private val type: String,
    private val name: String = SAW_NAME
) : ITool {
    override fun use() {
        println("Instrument: $name can be used for $type")
    }

    companion object {
        protected const val SAW_NAME: String = "Saw"
    }
}

Реализация абстрактных фабрик инструментов

Main

Last updated