TGViewer
Мобильная разработка Мобильная разработка @mobdevelop · 3.87K subscribers
Post #116 1.57K
Вопросы для собеседования iOS — Swift. Часть 2

Конкретный тип против абстрактного
В Swift имеются различные типы категорий, включая два фундаментальных понятия: конкретные и абстрактные типы.

Что такое «конкретный тип»?
Конкретный тип непосредственно инстанцируется для создания объектов:
1. Определяются все свойства и методы.
2. Примеры конкретных типов — классы и структуры.

Простой конкретный тип
struct Person {
var name: String
var age: Int
}
let person = Person(name: "John", age: 20)
print("Person name \(person.name) Age \(person.age)")

Конкретный тип с использованием класса
class Employee {
var name: String
var age: Int
init(name: String, age: Int) {
self.name = name
self.age = age
}
func empActiveStatus() {
print("Active")
}
}

let employee = Employee(name: "Jones", age: 35)
print("Employe name \(employee.name) Age \(employee.age)")
print("Active Status \(employee.empActiveStatus())")

Что такое «абстрактный тип»?
Это тип, которым определяется набор требований без фактической реализации:
1. Требования относятся к свойствам и методам.
2. Абстрактный тип не инстанцируется напрямую.

protocol Shape {
func area() -> Double
}
struct Circle: Shape {
var radius: Double
func area() -> Double {
return Double.pi * radius * radius
}
}
struct Square: Shape {
var side: Double
func area() -> Double {
return side * side
}
}

let circle = Circle(radius: 5.0)
print("Area of circle: ", circle.area())
let square = Square(side: 5.0)
print("Area of square: ", square.area())


Как получают абстрактный тип?

Продолжение
Часть 1.
  • 👍 3
  • 🔥 3
  • ❤ 1
  • 🤡 1
More from @mobdevelop
  1. Sep 22, 2026Rune: нативный Kubernetes-клиент для macOS Rune помогает быстрее диагностировать кластеры…
  2. Sep 15, 2026🎉 Swift 6.4 уже вышел — и релиз получился заметно шире обычного обновления языка. Главное…
  3. Aug 31, 2026ReactOS 0.4.16 вышла с крупным набором обновлений. Главные изменения: - появился новый гра…
  4. Aug 19, 2026✔️ Апдейт ChatGPT: изолированный контекст в Projects, тесты для проверки знаний и правки д…
  5. Jul 12, 2026Docker Desktop на Mac давно ругают за прожорливость. Apple выкатила свой вариант container…
  6. Jun 23, 2026Apple фактически сделала Docker Desktop необязательным на Mac. И полностью бесплатно. Речь…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →