У Swift есть методы экземпляра и методы типа. Метод экземпляра - это метод, который вызывается из определенного экземпляра класса. Метод Type - это статический метод, который вызывается из самого класса.
Метод экземпляра будет выглядеть примерно так:
class StudentList {
func allStudents() -> [String] {
....
}
}
Для вызова метода allStudents
необходимо инициализировать класс StudentsList
первый.
let list = StudentsList() // initialize the class
let all = list.allStudents() // call a method on the class instance
Попытка вызова метода экземпляра для самого класса дает ошибку.
Методы типа являются статическими методами, которые принадлежат классу, а не экземпляру класса. Как упоминалось в комментариях к ответу @ AnthodyKong, метод Type можно создать с помощью ключевых слов class
или static
перед func
. Классы передаются по ссылке, а структуры передаются по значению, поэтому они известны как ссылочный тип и тип значения. Вот как они будут выглядеть:
Тип ссылки
class StudentList {
class func allStudents() -> [String] {
....
}
}
Тип значения
struct StudentList {
static func allStudents() -> [String] {
....
}
}
] Вызовите с
let all = StudentList.allStudents()
Поскольку allStudents
является методом типа, класс (или структура) не нужно сначала инициализировать.
См. Также
С Python 3 можно явно объявить переменные типом:
x: int = 3
или:
def f(x: int):
return x