Skip to content

Instantly share code, notes, and snippets.

View NSSimpleApps's full-sized avatar

NSSimpleApps NSSimpleApps

  • Сollection of recipes
  • NSK
View GitHub Profile
@NSSimpleApps
NSSimpleApps / AppercodeAsyncOperation.swift
Last active December 23, 2023 19:09
AppercodeAsyncOperation
/// Асинхронная операция. Завершать методом finish(with:).
final class AppercodeAsyncOperation<T>: Operation {
enum State: Int {
case ready
case executing
case finished
case cancelled
}
private let lock = NSLock()
private var state = State.ready

======= General:

  • Что такое полиморфизм?

    • Полиморфизм - это одно из главных составляющих ООП. Полиморфизм даёт возможность объектам с одинаковым интерфейсом иметь различную реализацию и позволяет использовать объекты с одинаковым интерфейсом без информации о типе и внутренней структуре объекта. Реализация может быть изменена в процессе наследования. Это позволяет создавать абстрактные программы и повторно использовать код.
  • Что такое инкапсуляция? Что такое нарушение инкапсуляции?

    • Инкапсуляция - это сокрытие реализации и внутренней структуры класса, а также ограничение доступа к внутренней структуре. Нарушение инкапсуляции - это раскрытие внутренней реализации класса, а также использование полей класса в обход диспетчеризации (геттеры, сеттеры).