Last active
September 6, 2018 15:09
-
-
Save a-dminator/821020a2870ab52bb0989e7b56414590 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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