Please note, this is a STATIC archive of website www.tutorialspoint.com from 11 May 2019, cach3.com does not collect or store any user information, there is no "phishing" involved.
Tutorialspoint

OOP\BK

//Город, район, улица, дом, квартира, жилец

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()

Advertisements
Loading...

We use cookies to provide and improve our services. By using our site, you consent to our Cookies Policy.