//Город, район, улица, дом, квартира, жилец class City { var cityName: String func printProperty() { print("Город: \(cityName)") } init(cityName: String) { self.cityName = cityName } } class Area: City { var areaName: String override func printProperty() { super.printProperty() print("Район: \(areaName)") } init(cityName: String, areaName: String) { self.areaName = areaName super.init(cityName: cityName) } } class Street: Area { var streetName: String override func printProperty() { super.printProperty() print("Улица: \(streetName)") } init(cityName: String, areaName: String, streetName: String) { self.streetName = streetName super.init(cityName: cityName, areaName: areaName) } } class House: Street { var houseNumber: Int override func printProperty() { super.printProperty() print("Номер дома: \(houseNumber)") } init(cityName: String, areaName: String, streetName: String, houseNumber: Int) { self.houseNumber = houseNumber super.init(cityName: cityName, areaName: areaName, streetName: streetName) } } class Flat: House { var flatNumber: Int override func printProperty() { super.printProperty() print("Номер квартиры: \(flatNumber)") } init(cityName: String, areaName: String, streetName: String, houseNumber: Int, flatNumber: Int) { self.flatNumber = flatNumber super.init(cityName: cityName, areaName: areaName, streetName: streetName, houseNumber: houseNumber) } } class Person: Flat { var name: String override func printProperty() { super.printProperty() print("Имя жильца: \(name)") } init(cityName: String, areaName: String, streetName: String, houseNumber: Int, flatNumber: Int, name: String) { self.name = name super.init(cityName: cityName, areaName: areaName, streetName: streetName, houseNumber: houseNumber, flatNumber: flatNumber) } } //var city = City(cityName: "Киев") //city.printProperty() //var area = Area(cityName: "Киев", areaName: "Святошино") //area.printProperty() //var street = Street(cityName: "Киев", areaName: "Святошино", streetName: "Вернадского") //street.printProperty() //var house = House(cityName: "Киев", areaName: "Святошино", streetName: "Вернадского", houseNumber: 16) //house.printProperty() //var flat = Flat(cityName: "Киев", areaName: "Святошино", streetName: "Вернадского", houseNumber: 16, flatNumber: 1) //flat.printProperty() var Jack = Person(cityName: "Киев", areaName: "Святошино", streetName: "Вернадского", houseNumber: 16, flatNumber: 1, name: "Джек") Jack.printProperty()
We use cookies to provide and improve our services. By using our site, you consent to our Cookies Policy. Accept Learn more