Sobes.tech
Junior — Middle

Welke aanpak zou je gebruiken: klasse-methode of statische methode, en waarom?

sobes.tech AI

Antwoord van AI

De keuze tussen een instantie-methode van een klasse en een statische methode hangt af van de context:

  • Klasse-methode (instantie-methode) wordt gebruikt wanneer de methode werkt met de toestand van een specifiek object, dat wil zeggen, afhankelijk is van de waarden van zijn eigenschappen.
  • Statische methode hangt niet af van de toestand van het object en kan worden aangeroepen zonder een instantie van de klasse te maken.

In iOS (Swift/Objective-C) worden meestal instantie-methoden gebruikt als je met de gegevens van het object moet werken. Statische methoden zijn geschikt voor hulpfuncties, fabrieksmethoden of wanneer de toestand van het object niet nodig is.

Voorbeeld in Swift:

class Calculator {
    static func add(_ a: Int, _ b: Int) -> Int {
        return a + b
    }

    func multiply(_ a: Int, _ b: Int) -> Int {
        return a * b
    }
}

// Aanroep van een statische methode zonder een object te maken
let sum = Calculator.add(2, 3)

// Aanroep van een instantie-methode vereist een object
let calc = Calculator()
let product = calc.multiply(2, 3)

Dus, kies een statische methode voor functies zonder toestand, en een klasse-methode wanneer je toegang nodig hebt tot de gegevens van het object.