Skip to content

Instantly share code, notes, and snippets.

@KatelinM
Forked from a-dminator/langs-hw-1.kt
Created September 4, 2018 13:57
Show Gist options
  • Save KatelinM/2f916ecada519293e9b04f287f465daa to your computer and use it in GitHub Desktop.
Save KatelinM/2f916ecada519293e9b04f287f465daa to your computer and use it in GitHub Desktop.
fun main(args: Array<String>) {
abstract class Building { // Описание здания
var isReady = false // Изначально здание не построено
fun printStatus() = // Функция, печатающая статус строительства
if (isReady) // eсли здание готово
println("Постоено") // печатает "Построено"
else // иначе (если здание не готово)
println("Не построено") // печатает "Не построено"
}
class HistoricalBuilding : Building() { // Историческое здание являтся зданием
fun printAge() = println("382 года") // Функция, печатающая возраст здания
}
class Skyscraper : Building() { // Небоскрёб являтся зданием
fun printCountOfFloors() = println("120 этажей") // Функция, печатающая количество этажей небоскрёба
}
class TenStoreyBuilding : Building() { // Десятиэтажка являтся зданием
fun printCountOfEntrances() = println("7 подъездов") // Функция, печатающая количество подъездов десятиэтажки
}
val lenina128 = Skyscraper() // Cоздаём здание "Ленина 128". Оно является небоскрёбом
lenina128.printStatus() // Просим его напечатать статус строительства.
// Выводится "Не построено" т.к. изначально isReady = false
lenina128.isReady = true // Говорим, что здание "Ленина 128" теперь построено
lenina128.printStatus() // Просим его напечатать статус строительства. Выводится "Построено"
lenina128.printCountOfFloors() // Просим его напечатать количество этажей. Выводится "120 этажей"
val lenina12 = HistoricalBuilding() // Создаём здание "Ленина 12". Оно является историческим
lenina12.printAge() // Просим его напечатать возраст. Выводится "382 года"
val stalina2 = TenStoreyBuilding() // Создаём здание "Сталина 2". Оно является десятиэтажкой
stalina2.printCountOfEntrances() // Просим его напечатать количество подъездов. Выводится "7 подъездов"
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment