"Вы можете использовать конечный класс в Swift, чтобы отключить наследование класса".
"Статические функции вызываются классом, а не экземпляром класса".
static func final class func
Между static funcи final class func нет различий,они будут делать то же самое, если не удалить 'final' ключевое слово и функция класса будут переопределяться подклассом.
class func
Чтобы было понятно, я сделал пример:
class Animal { class func eat() -> String { return "Class Animal Eat Function." } static func bark() -> String { return "Class Animal Bark Function." } //Same as above final class func run() -> String { return "Class Animal Run Function." } } class Dog: Animal { override class func eat() -> String { return "Class Dog Eat Function." } //ERROR: Can not override static func override static func bark() -> String { return "Class Dog Bark Function." } }
Я также хочу добавить,
- В том же классе вы не можете получить доступ к нестатической функции, сохраненному свойству или вычисляемому свойству из статической функции.
- В том же классе вы можете получить доступ к статической функции, сохраненному свойству или вычисляемому свойству из статической функции, просто введя ее имя.
- В том же классе вы также можете получить доступ к статической функции, сохраненному свойству или вычисляемому свойству из статической функции, введя Имя класса + точка + имя элемента
В заключение, окончательный класс в Swift предотвращает наследование класса.
Я попытался объяснить через функции. По большей части то же самое относится и к свойствам.