#swift #классы
Когда лучше использовать класс, а когда структуру в Swift?
Ответы
Ответ 1
Основное различие в том, что структуры передаются по значению, а классы — по ссылке. С точки зрения производительности важно, что экземпляры структур могут быть созданы в стеке, а экземпляры классов — только в куче. В соответствии с The Swift Programming Language: Структуры подходят, если выполняется одно или несколько условий: Инкапсуляция небольшого набора простых значений. Значения следует копировать, а не передавать по ссылке. Свойства самой структуры — value-типы, которые тоже передаются по значению. Структуры не наследует свойства или поведения. Хорошие примеры: Размеры фигуры: ширина и высота. Точка в пространства: x, y и z типа double. В большинстве случаев следует использовать классы.Ответ 2
Предлагаю такие вопросы себе задавать: 1) Нужно ли мне наследование? 2) Нужно ли использовать классовые дженерики ('class SomeClass: ClassName')? 3) Нужно ли будет такое, чтобы инстанс объекта был доступен из нескольких мест и его можно было менять из них. (объект по ссылке, вместо копирования)? 4) Нужен ли деинициализатор? Если на все ответ нет, то используйте структуру.
Комментариев нет:
Отправить комментарий