0Pricing
Swift Academy · Lesson

Protocols & Extensions basics

Define protocols, make types conform, extend with default implementations, and understand static vs instance requirements.

Protocols & Extensions basics is a free Swift Academy lesson on CoddyKit — lesson 1 of 3. You can read the complete lesson below for free — then practise it hands-on in the browser with a built-in code editor and a 24/7 AI tutor. It is part of the Swift Academy learning path, one of 3 lessons in the course, and your progress syncs across the web and the CoddyKit app.

Intro

Swift protocols define a contract of methods/properties. Types adopt protocols to gain shared behavior. Extensions add functionality or default implementations.

Define protocol

Declare a protocol with required methods or properties.

protocol Greetable {
    func greet() -> String
}

Conformance

A type conforms by implementing all protocol requirements.

struct Person: Greetable {
    var name: String
    func greet() -> String {
        return "Hi, I am \\(name)"
    }
}
print(Person(name:"Ada").greet())

Extensions

Use extensions to make existing types conform to a protocol.

extension Int: Greetable {
    func greet() -> String { return "Number \\(self)" }
}
print(5.greet())

Default implementation

Extensions can add default implementations, so conforming types don't have to implement everything.

extension Greetable {
    func greet() -> String { return "Hello!" }
}
struct Dog: Greetable { }
print(Dog().greet())

Static vs instance

Protocols can require static and instance members.

protocol Identifiable {
    static var typeID: String { get }
    var id: Int { get }
}
struct Item: Identifiable {
    static var typeID = "Item"
    var id: Int
}
print(Item.typeID, Item(id:1).id)

Protocol Q

Quick check: What is the main role of a protocol?

Recap

Recap: Define protocols for shared contracts, conform with types, extend existing types, add defaults, and use static vs instance requirements.

Frequently asked questions

Is the “Protocols & Extensions basics” lesson free?

Yes — the full text of “Protocols & Extensions basics” is free to read here on the web, and the Swift Academy course includes 3 lessons in total. To practise it interactively (a built-in code editor and a 24/7 AI tutor) and unlock the rest of the Swift Academy course, upgrade to CoddyKit PRO.

What will I learn in “Protocols & Extensions basics”?

Define protocols, make types conform, extend with default implementations, and understand static vs instance requirements. You practise Swift Academy with hands-on code you run directly in the browser, and a 24/7 AI tutor answers your questions as you work through the lesson.

Do I need any experience to start Swift Academy?

No prior experience is required. Swift Academy on CoddyKit is structured for beginners through advanced learners; this is — lesson 1 of 3, so you can start here or from the beginning and move at your own pace.

How long does the “Protocols & Extensions basics” lesson take?

Most CoddyKit lessons take about 5–10 minutes. Each one is bite-sized and interactive, so you make steady progress and pick up exactly where you left off across the web and the app.

Can I write and run code in this Swift Academy lesson?

Yes. Every Swift Academy lesson includes a built-in code editor, so you write and run real code right in your browser and get instant AI feedback — no local setup required.

All lessons in this course

  1. Protocols & Extensions basics
  2. Protocol extensions vs type extensions
  3. Static vs instance requirements
← Back to Swift Academy