Objective-C för iOS-utveckling av äldre appar och företagsappar · Lektion

Klasser, objekt och metoder

Lär dig att definiera klasser, skapa objekt och implementera instans- och klassmetoder för att kapsla in beteende.

Lektion 1 av 411 steg

Klasser, objekt och metoder är en gratis lektion i Objective-C för iOS-utveckling av äldre appar och företagsappar på CoddyKit. Detta är lektion 1 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Objective-C för iOS-utveckling av äldre appar och företagsappar, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Objective-C för iOS-utveckling av äldre appar och företagsappar innehåller totalt 4 lektioner.

Grunderna i OOP: klasser och objekt

Välkommen till objektorienterad programmering (OOP) i Objective-C! OOP hjälper dig att organisera kod i återanvändbara mallar som kallas klasser.

Utifrån dessa mallar skapar vi enskilda saker som kallas objekt. Tänk på en klass som en kakform och ett objekt som en kaka!

Din första klass: headerfilen

Varje Objective-C-klass har två huvudfiler: en .h- (header-)fil och en .m- (implementation-)fil.

Headerfilen (.h) deklarerar vad klassen är och vad den kan göra. Den fungerar som en offentlig ritning.

Så här deklarerar du en enkel Person-klass:

// Person.h
#import <Foundation/Foundation.h>

@interface Person : NSObject

// Method declaration
- (void)sayHello;

@end

Klassimplementation: källfilen

Implementationsfilen (.m) innehåller den faktiska koden som får klassen att fungera. Den definierar beteendet som deklareras i headerfilen.

Här implementerar vi metoden sayHello för vår Person-klass:

// Person.m
#import "Person.h"

@implementation Person

- (void)sayHello {
  NSLog(@"Hello from a Person object!");
}

@end

Ge klasser liv: objekt

Nu när vi har en Person-klass skapar vi ett objekt från den! Att skapa ett objekt kallas också instansiering.

I Objective-C använder vi metoderna alloc och init för att skapa nya objekt. alloc reserverar minne och init initierar objektet.

Prova att köra det här exemplet:

#import <Foundation/Foundation.h>

// Person.h (declared here for runnable example)
@interface Person : NSObject
- (void)sayHello;
@end

// Person.m (implemented here for runnable example)
@implementation Person
- (void)sayHello {
  NSLog(@"Hello from a Person object!");
}
@end

int main(int argc, const char * argv[]) {
  @autoreleasepool {
    // Create a Person object
    Person *person1 = [[Person alloc] init];
    NSLog(@"Created a Person object: %@", person1);
  }
  return 0;
}

Instansmetoder: objektens åtgärder

Instansmetoder är åtgärder som ett enskilt objekt kan utföra. De arbetar vanligtvis med data som hör till just det objektet.

För att be ett objekt utföra en åtgärd skickar du ett meddelande till det. Syntaxen är [object methodName];.

Låt oss få objektet person1 att säga hej:

#import <Foundation/Foundation.h>

@interface Person : NSObject
- (void)sayHello;
@end

@implementation Person
- (void)sayHello {
  NSLog(@"Hello from a Person object!");
}
@end

int main(int argc, const char * argv[]) {
  @autoreleasepool {
    Person *person1 = [[Person alloc] init];
    [person1 sayHello]; // Sending the 'sayHello' message
  }
  return 0;
}

Metoder med argument

Metoder kan också ta emot argument (eller parametrar) för att anpassa sitt beteende. Objective-C använder en unik syntax för metodargument, vilket gör metoderna mycket beskrivande.

Det första argumentet är en del av metodnamnet och efterföljande argument förses med etiketter.

Låt oss lägga till en metod i klassen Person som tar emot ett namn:

#import <Foundation/Foundation.h>

@interface Person : NSObject
- (void)sayHelloTo:(NSString *)name; // Method with one argument
@end

@implementation Person
- (void)sayHelloTo:(NSString *)name {
  NSLog(@"Hello, %@ from a Person object!", name);
}
@end

int main(int argc, const char * argv[]) {
  @autoreleasepool {
    Person *person1 = [[Person alloc] init];
    [person1 sayHelloTo:@"Alice"]; // Sending message with argument
  }
  return 0;
}

Klassmetoder: typens åtgärder

Till skillnad från instansmetoder hör klassmetoder (även kallade statiska metoder) till själva klassen, inte till ett specifikt objekt.

De börjar med tecknet + i sin deklaration och implementation. Du anropar dem direkt på klassnamnet, till exempel [ClassName methodName];.

Klassmetoder används ofta för att skapa objekt eller för verktygsfunktioner som hör till klassen.

#import <Foundation/Foundation.h>

@interface Person : NSObject
+ (void)aboutThisClass; // Class method declaration
@end

@implementation Person
+ (void)aboutThisClass {
  NSLog(@"This is the Person class, used to create person objects.");
}
@end

int main(int argc, const char * argv[]) {
  @autoreleasepool {
    [Person aboutThisClass]; // Calling a class method
  }
  return 0;
}

Klass kontra instans: den viktiga skillnaden

Här är en snabb sammanfattning av de viktigaste skillnaderna:

  • Instansmetoder (-): Arbetar med data i ett specifikt objekt. Du behöver en objektinstans för att anropa dem.
  • Klassmetoder (+): Arbetar med själva klassen, inte med en instans. Du anropar dem direkt på klassnamnet. De har inte tillgång till instansvariabler.

Välj rätt typ beroende på om åtgärden behöver specifika objektdata eller generell funktionalitet för klassen.

Skicka meddelanden i Objective-C

I Objective-C kallas det formellt att anropa en metod för att skicka ett meddelande till ett objekt (eller en klass).

Syntaxen [receiver messageName:argument]; betyder att vi skickar meddelandet messageName: till objektet (eller klassen) receiver.

Den här mekanismen för meddelandehantering är en central del av Objective-C:s dynamiska natur.

Snabb kontroll: klasser och metoder

Testa dina kunskaper om grunderna i OOP med Objective-C.

Sammanfattning: klasser, objekt och metoder

Bra jobbat! I den här lektionen har du lärt dig:

  • Vad klasser är (ritningar) och vad objekt är (instanser).
  • Hur man deklarerar en klass i en .h-fil och implementerar den i en .m-fil.
  • Hur man skapar objekt med alloc och init.
  • Skillnaden mellan instansmetoder (-) och klassmetoder (+).
  • Hur Objective-C använder meddelandehantering för att anropa metoder.

Nu är du redo att bygga mer komplexa och välorganiserade Objective-C-appar!

Gratis att börja

Lär dig Objective-C med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
12
Lektioner
48

Vanliga frågor

Är lektionen ”Klasser, objekt och metoder” gratis?

Ja – hela texten till ”Klasser, objekt och metoder” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Objective-C för iOS-utveckling av äldre appar och företagsappar, kan Ni uppgradera till CoddyKit PRO. Kursen i Objective-C för iOS-utveckling av äldre appar och företagsappar innehåller totalt 4 lektioner.

Vad lär jag mig i ”Klasser, objekt och metoder”?

Lär dig att definiera klasser, skapa objekt och implementera instans- och klassmetoder för att kapsla in beteende. Ni övar på Objective-C för iOS-utveckling av äldre appar och företagsappar med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig Objective-C för iOS-utveckling av äldre appar och företagsappar?

Du behöver inga förkunskaper. Utbildningen i Objective-C för iOS-utveckling av äldre appar och företagsappar på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 1 av 4.

Hur lång tid tar lektionen ”Klasser, objekt och metoder”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här Objective-C för iOS-utveckling av äldre appar och företagsappar-lektionen?

Ja. Varje Objective-C för iOS-utveckling av äldre appar och företagsappar-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Klasser, objekt och metoder
  2. Egenskaper och instansvariabler
  3. Protokoll och kategorier
  4. Arv och åsidosättning av metoder
← Tillbaka till Objective-C för iOS-utveckling av äldre appar och företagsappar