Objective-C iOS-utvikling for eldre kodebaser og virksomhetsapper · leksjon

Klasser, objekter og metoder

Lær å definere klasser, opprette objekter og implementere instans- og klassemetoder for å kapsle inn atferd.

Leksjon 1 av 411 trinn

Klasser, objekter og metoder er en gratis leksjon i Objective-C iOS-utvikling for eldre kodebaser og virksomhetsapper på CoddyKit. Dette er leksjon 1 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Objective-C iOS-utvikling for eldre kodebaser og virksomhetsapper, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Objective-C iOS-utvikling for eldre kodebaser og virksomhetsapper inneholder totalt 4 leksjoner.

Grunnleggende OOP: Klasser og objekter

Velkommen til objektorientert programmering (OOP) i Objective-C! OOP hjelper Dem med å organisere kode i gjenbrukbare maler kalt klasser.

Fra disse malene oppretter vi individuelle elementer kalt objekter. Tenk på en klasse som en pepperkakeform og et objekt som en pepperkake!

Deres første klasse: Header-fil

Hver Objective-C-klasse har to hovedfiler: en .h-fil (header) og en .m-fil (implementasjon).

Header-filen (.h) deklarerer hva klassen er, og hva den kan gjøre. Den fungerer som en offentlig mal.

Slik deklarerer De en enkel Person-klasse:

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

@interface Person : NSObject

// Method declaration
- (void)sayHello;

@end

Implementere en klasse: Kildekodefil

Implementasjonsfilen (.m) inneholder den faktiske koden som får klassen til å fungere. Den definerer atferden som er deklarert i header-filen.

Her implementerer vi sayHello-metoden for Person-klassen:

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

@implementation Person

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

@end

Gi liv til klasser: Objekter

Nå som vi har en Person-klasse, kan vi opprette et objekt fra den! Å opprette et objekt kalles også instansiering.

I Objective-C bruker vi metodene alloc og init til å opprette nye objekter. alloc reserverer minne, og init initialiserer objektet.

Prøv å kjøre dette eksempelet:

#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: Objektenes handlinger

Instansmetoder er handlinger som et individuelt objekt kan utføre. De arbeider vanligvis med data som er spesifikke for objektet.

For å be et objekt utføre en handling sender De det en melding. Syntaksen er [object methodName];.

La oss få person1-objektet til å si hei:

#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 argumenter

Metoder kan også ta imot argumenter (eller parametere) for å tilpasse atferden. Objective-C bruker en unik syntaks for metodeargumenter, slik at metodene blir svært beskrivende.

Det første argumentet er en del av metodenavnet, og påfølgende argumenter får etiketter.

La oss legge til en metode i Person-klassen som tar imot et navn:

#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;
}

Klass metoder: Typehandlinger

I motsetning til instansmetoder tilhører klassmetoder (også kalt statiske metoder) selve klassen, ikke et bestemt objekt.

De begynner med tegnet + i deklarasjonen og implementasjonen. De kalles direkte på klassenavnet, for eksempel [ClassName methodName];.

Klassmetoder brukes ofte til å opprette objekter eller hjelpefunksjoner knyttet til 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;
}

Klasse kontra instans: Viktig forskjell

Her er en kort oppsummering av de viktigste forskjellene:

  • Instansmetoder (-): Arbeider med dataene til et bestemt objekt. De trenger en objektinstans for å kunne kalles.
  • Klassmetoder (+): Arbeider med selve klassen, ikke en instans. De kalles direkte på klassenavnet. De har ikke tilgang til instansvariabler.

Velg riktig type basert på om handlingen trenger spesifikke objektdata eller generell funksjonalitet knyttet til klassen.

Sende meldinger i Objective-C

I Objective-C kalles det formelt å kalle en metode for å sende en melding til et objekt (eller en klasse).

Syntaksen [receiver messageName:argument]; betyr at vi sender meldingen messageName: til objektet (eller klassen) receiver.

Denne mekanismen for meldingsutveksling er en sentral del av Objective-C:s dynamiske natur.

Rask sjekk: Klasser og metoder

Test kunnskapene Deres om grunnleggende objektorientert programmering i Objective-C.

Oppsummering: Klasser, objekter og metoder

Godt jobbet! I denne leksjonen har De lært:

  • Hva klasser er (maler), og hva objekter er (instanser).
  • Hvordan en klasse deklareres i en .h-fil og implementeres i en .m-fil.
  • Hvordan objekter opprettes med alloc og init.
  • Forskjellen mellom instansmetoder (-) og klassmetoder (+).
  • Hvordan Objective-C bruker meldingsutveksling til å kalle metoder.

Nå er De klar til å bygge mer komplekse og organiserte Objective-C-applikasjoner!

Gratis å komme i gang

Lær deg Objective-C med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
12
Leksjoner
48

Ofte stilte spørsmål

Er leksjonen «Klasser, objekter og metoder» gratis?

Ja – hele teksten i «Klasser, objekter og metoder» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av Objective-C iOS-utvikling for eldre kodebaser og virksomhetsapper-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Objective-C iOS-utvikling for eldre kodebaser og virksomhetsapper inneholder totalt 4 leksjoner.

Hva lærer jeg i «Klasser, objekter og metoder»?

Lær å definere klasser, opprette objekter og implementere instans- og klassemetoder for å kapsle inn atferd. Du øver på Objective-C iOS-utvikling for eldre kodebaser og virksomhetsapper med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med Objective-C iOS-utvikling for eldre kodebaser og virksomhetsapper?

Ingen tidligere erfaring er nødvendig. Objective-C iOS-utvikling for eldre kodebaser og virksomhetsapper på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 1 av 4.

Hvor lang tid tar leksjonen «Klasser, objekter og metoder»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne Objective-C iOS-utvikling for eldre kodebaser og virksomhetsapper-leksjonen?

Ja. Alle Objective-C iOS-utvikling for eldre kodebaser og virksomhetsapper-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Klasser, objekter og metoder
  2. Egenskaper og instansvariabler
  3. Protokoller og kategorier
  4. Arv og overstyring av metoder
← Tilbake til Objective-C iOS-utvikling for eldre kodebaser og virksomhetsapper