# 擴展

擴展是一種十分強大的機制，可以讓你在不用繼承的情況下，給已存在的類別、結構或者列舉添加一些新的功能。最重要的一點是，你可以在你沒有訪問權限的情況下擴展已有類別。這意味著你甚至可以擴展 Cocoa 的類，比如 `UIView` 或者 `UIImage` 。

舉個例子，在編譯時新加的方法可以像擴展類別的正常方法一樣執行。這和裝飾器模式有點不同，因為擴展不會有擴展類別的實體。


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://wilden-chen.gitbook.io/swift-design-patterns/decorator/decorator-extension.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
