Назад к вопросам
Junior
78
questionbank

Что такое ключевое слово static в языке Swift?

Sobes Copilot

Получайте ответы в реальном времени

Ответ от нейросети

sobes.tech AI

static используется в Swift для определения свойств и методов типа.

  • Свойства типа (Type Properties): Значение, общее для всех экземпляров типа. Доступ осуществляется через имя типа, а не через экземпляр.

    struct MyStruct {
        static var typeProperty = "Это свойство типа" 
        var instanceProperty = "Это свойство экземпляра"
    }
    
    // Доступ к свойству типа
    print(MyStruct.typeProperty) 
    
  • Методы типа (Type Methods): Методы, которые вызываются на самом типе, а не на его экземпляре.

    class MyClass {
        static func typeMethod() {
            print("Это метод типа")
        }
    
        func instanceMethod() {
            print("Это метод экземпляра")
        }
    }
    
    // Вызов метода типа
    MyClass.typeMethod()
    

Ключевое слово class может также использоваться для создания методов типа, но между static и class есть разница:

Особенность static class
Применимо к Строения, классы, перечисления Только классы
Переопределение Не может быть переопределен в подклассах Может быть переопределен в подклассах (если не помечен как final)

static свойства и методы типа являются "финальными" по своей природе и не могут быть переопределены. class методы типа могут быть переопределены, если явно не помечены как final.