Close Menu
iSpazioiSpazio
  • Notizie
  • Offerte
  • Downloads
  • Recensioni
  • Sconti Amazon
Menu Espanso
  • Home
  • Forum
  • Notizie
  • Offerte
  • iOS 18
  • iPhone 16
  • Downloads
  • Guide
  • Sconti Amazon
  • Contatti
  • Pubblicità
Facebook X (Twitter) Instagram YouTube TikTok
iSpazioiSpazio
  •  Forum
  • Scontiamolo
  • Wallpapers Central
  • Teslers
Scarica l'App
  • W W D C 2 5
  • Offerte
  • Guide
    • Personalizzazione
    • Video Guide TikTok
  • Recensioni
  • Downloads
    • Sfondi
    • Suonerie
    • Comandi Rapidi
    • Sfondi Personalizzati
    • Widget e Altro
    • iOS
    • iTunes
  • Dispositivi Apple
    1. iPhone
    2. iPad
    3. Mac
    4. Apple Watch
    5. iOS 26
    6. View All

    iPhone 16e entra nella Top 10 in Europa, ma non convince come gli SE

    3 Giu 2025

    WhatsApp interrompe il supporto per alcuni modelli di iPhone

    3 Giu 2025

    iPhone 17 e 17 Air con schermo a 120Hz, ma senza ProMotion | Rumor

    3 Giu 2025

    iPhone 17 delude già prima del lancio: ancora un chip A18 e solo 8GB di RAM

    2 Giu 2025

    iPadOS 26 apre la strada all’iPad gigante: tutto ruota intorno al nuovo modello pieghevole

    13 Giu 2025

    iPadOS 26, watchOS 26 e macOS Tahoe: Ecco quali sono i dispositivi compatiibili sui quali potremo installarli

    10 Giu 2025

    iPadOS 26 migliora il multitasking con le applicazioni che diventano finestre in stile desktop

    10 Giu 2025

    iPadOS 26 rivoluzionerà il multitasking su iPad

    8 Giu 2025

    Apple migliora l’AutoFill dei codici di verifica su iOS 26 e macOS Tahoe

    13 Giu 2025

    iPadOS 26, watchOS 26 e macOS Tahoe: Ecco quali sono i dispositivi compatiibili sui quali potremo installarli

    10 Giu 2025

    Apple presenta macOS Tahoe 26 che rende il Mac più versatile, produttivo ed intelligente che mai

    10 Giu 2025

    macOS 26 potrebbe chiamarsi “macOS Tahoe” | Rumor

    2 Giu 2025

    watchOS 26 introduce una nuova gesture del polso: ecco i modelli compatibili

    12 Giu 2025

    iOS 26 introduce le Notifiche per il Meteo estremamente avverso e widget dedicati per le tue prossime destinazioni

    11 Giu 2025

    Apple rimuove 5 quadranti da Apple Watch con l’arrivo di watchOS 26: ecco a quali dovremo dire addio

    11 Giu 2025

    iPadOS 26, watchOS 26 e macOS Tahoe: Ecco quali sono i dispositivi compatiibili sui quali potremo installarli

    10 Giu 2025

    CarPlay si rinnova con iOS 26: Ecco tutte le 9 novità in arrivo tra nuovo design, widget, video in sosta ed altro

    14 Giu 2025

    tvOS 26 ed iOS 26 offrono la funzione di Login Automatico per le applicazioni su Apple TV

    14 Giu 2025

    Problemi di spazio in memoria per gestire gli aggiornamenti software automatici? iOS 26 pensa anche a questo!

    14 Giu 2025

    Apple apre ai codici promozionali per tutti gli acquisti in-app, non solo abbonamenti

    14 Giu 2025

    CarPlay si rinnova con iOS 26: Ecco tutte le 9 novità in arrivo tra nuovo design, widget, video in sosta ed altro

    14 Giu 2025

    tvOS 26 ed iOS 26 offrono la funzione di Login Automatico per le applicazioni su Apple TV

    14 Giu 2025

    Problemi di spazio in memoria per gestire gli aggiornamenti software automatici? iOS 26 pensa anche a questo!

    14 Giu 2025

    Apple apre ai codici promozionali per tutti gli acquisti in-app, non solo abbonamenti

    14 Giu 2025
  • iPhone 16
  • iOS 26
  • Sconti Amazon
Contatti
Pubblicità
iSpazioiSpazio
  • Notizie
  • Offerte
  • Downloads
  • Recensioni
  • Sconti Amazon
iPhone

Guide Teoriche per la programmazione by iSpazio #1 – Capire l’Objective-C – Parte terza

Enzo FrancescaBy Enzo Francesca14 Nov 2008Commenta4 Mins Read
Condividi Facebook Twitter Telegram WhatsApp Copy Link Threads Email
Share
Facebook Twitter WhatsApp Telegram Threads Email Copy Link
In qualità di Affiliato Amazon, iSpazio riceve un guadagno dagli acquisti idonei (info). Vedi le offerte su Telegram.
Icona Cerchi Prodotti Apple ed accessori Tech in sconto?

Cerchi Prodotti Apple ed accessori Tech in sconto?

Segui il nostro canale @scontiamolo su Telegram!

Siamo arrivati alla terza parte del nostro viaggio nell’Objective-C, nella puntata precedente abbiamo avuto modo di affrontare la DICHIARAZIONE della nostra classe Penna scrivendone l’INTERFACCIA ed è ora giunto il momento di scrivere la classe vera e propria, il suo corpo.

Advertising

Implementazione della classe

Per fare questo dobbiamo creare un nuovo file che chiameremo Penna.m, notiamo l’estensione .m che sta significare METHODS nel senso che mentre il file .h contiene la dichiarazione di variabili e proprietà il .m conterrà i metodi della classe ovvero quello che la classe sa e può fare allo stesso modo in cui nel C si usa l’estensione .c e nel C++ si usa .cpp . Creato il file possiamo iniziare a scriverci dentro:

Per prima cosa dobbiamo legare il file di INTERFACCIA al file di IMPLEMENTAZIONE e lo facciamo dicendo al compilatore di andare a prendere l’interfaccia dal file Penna.h tramite la direttiva #import che abbiamo utilizzato anche nelle puntate precedenti.

#import "Penna.h"

ora siamo pronti per implementare la classe

#import "Penna.h"

@implementation Penna

@end

Questa è l’implementazione minima di una classe e i metodi andranno scritti fra le due direttive @implementation e @end.
I vari metodi vanno scritti riportando il prototipo che abbiamo scritto nel file .h, ma al posto del punto e virgola scriveremo la parentesi graffa aperta seguita dalle istruzioni da eseguire ed infine chiuderemo il metodo con la parentesi graffa chiusa:

#import "Penna.h"

@implementation Penna

- (void) scriviQualcosa
{
    // scrivere il codice sorgente qui...
}

@end

A questo punto questa parte potrebbe essere finita qui, ma ovviamente mi sento in dovere di darvi altri argomenti su cui riflettere e quindi aggiungerò altra “carne al fuoco” (sono cattivo, lo so).
Come vi avevo accennato la classe che stiamo costruendo è un po’ povera concettualmente in quanto l’esempio della penna se pur chiaro, al fine di comprendere la filosofia ad oggetti, mal si presta ad un’implementazione reale sul campo. Dal punto di vista didattico, però, ci permette di affrontare le caratteristiche peculiari di questo linguaggio. In seguito creeremo altre classi molto più realistiche.

Manca qualcosa?

Cosa manca alla nostra classe per poter funzionare a dovere? Un paio di cose fondamentali, la prima di queste è che abbiamo due proprietà (colore e marca), ma non abbiamo funzioni per leggerle e scriverle. L’ultima frase che avete letto vi risulterà sicuramente strana e vi starete chiedendo perché si ha bisogno di metodi per leggere e scrivere le variabili interne di una classe.
Molto semplicemente perché le variabili di una classe sono inaccessibili all’esterno, ma solo all’interno della classe stessa. Ci sono metodi per dichiarare variabili accessibili all’esterno, ma li vedremo in un’altra parte della guida. Andremo quindi a scrivere un cosiddetto METODO D’ACCESSO.
Per prima cosa dobbiamo dichiararlo nel file Penna.h che andremo a modificare nel seguente modo:

#import <Cocoa/Cocoa.h>

@interface Penna
{
    NSString *colore;
    NSString *marca;
}

- (void) scriviQualcosa;
- (NSString *)colore;
- (NSString *)marca;
@end

abbiamo appena dichiarato due metodi che RESTITUISCONO un valore di tipo NSString e ora li andremo ad implementare

#import "Penna.h"

@implementation  Penna

- (void) scriviQualcosa
{
    // scrivere il codice sorgente qui...
}

- (NSString *)colore
{
    return colore;
}

- (NSString *)marca
{
    return marca;
}
@end

I due metodi che abbiamo appena implementato si occupano, quando chiamati, di restituire le variabili stringa colore e marca al richiedente. Abbiamo volutamente chiamato i metodi come le variabili così non dobbiamo preoccuparci di andare sempre a guardare come si chiama il metodo per accedere ad una determinata variabile. Se li analizziamo non fanno nulla di trascendentale, ma restituiscono tramite una istruzione return la variabile in questione all’esterno, facendo praticamente da ponte tra la variabile inaccessibile all’esterno e l’esterno stesso.

Mancano i due metodi per scrivere nelle stringhe colore e marca (ricordatevi che dall’esterno non sono accessibili) ma per far questo dobbiamo sapere come viene gestita la memoria in Objective-C, inoltre manca un metodo di inizializzazione della classe che si occupi di tutte le operazioni necessarie ad un corretto start-up dell’oggetto. Come avrete capito questi due aspetti saranno affrontati nel prossimo capitolo.

Enzo Francesca per iSpazio.net


Sai che siamo anche su Telegram? Unisciti al nostro canale iSpazio per ricevere le notifiche oppure Apple Italia per chattare con altri utenti. Scopri i migliori prodotti Tech in sconto su Amazon con il nostro canale OFFERTE iSpazio.

Scarica la nostra app e leggi le notizie in mobilità. Porta iSpazio sempre con te, anche su Telegram.
| Applicazione iOS
Con l'applicazione ufficiale di iSpazio resterai sempre aggiornato sulle notizie Apple, video tutorial per iPhone e tanto altro. riceverai una notifica per ogni nuovo articolo. Puoi utilizzare anche i Widget per tenere le novità sott'occhio nella Home o nella Lockscreen.
Scaricala subito!
| Canale Telegram 10.700+ Utenti
Su Telegram invece, segnaliamo soltanto le notizie più importanti ed urgenti oppure i nostri nuovi video su YouTube. E' un canale molto interessante, assolutamente non invasivo perchè non inviamo troppe push, e vi consigliamo di seguirci anche lì.
Unisciti a noi!
ispazio notifiche
Seguici su Google News
Share. Facebook Twitter Telegram WhatsApp Threads Email Copy Link
Previous ArticleSchermata grigia nell’applicazione Orologio? Ecco il Fix
Next Article Arrivano i primi moduli iGPS360 in Italia: Impressioni e Feedback

Articoli correlati

iPhone 16e entra nella Top 10 in Europa, ma non convince come gli SE

3 Giu 2025Commenta

WhatsApp interrompe il supporto per alcuni modelli di iPhone

3 Giu 2025Commenta

iPhone 17 e 17 Air con schermo a 120Hz, ma senza ProMotion | Rumor

3 Giu 2025Commenta

iPhone 17 delude già prima del lancio: ancora un chip A18 e solo 8GB di RAM

2 Giu 2025Commenta

Leggi o Aggiungi Commenti

Advertising

Da non perdere!

iOS 26 Beta 1 è disponibile: Ecco come scaricarlo ed installarlo su iPhone

9 Giu 2025

Ecco la lista degli iPhone sui quali è possibile installare iOS 26

9 Giu 2025

Apple presenta iOS 26 con nuovo design “Liquid Glass” e tantissime novità!

10 Giu 2025

Apple prepara il più grande restyling software dai tempi di iOS 7 e coinvolgerà tutti i suoi sistemi operativi

26 Mag 2025
Advertising

Gli articoli più letti

watchOS 26 introduce una nuova gesture del polso: ecco i modelli compatibili

iOS 18.6 sarà uno degli ultimi aggiornamenti prima dell’arrivo di iOS 26, ecco cosa aspettarsi

Info su iSpazio
Info su iSpazio

iSpazio è il punto di riferimento italiano per tutti gli appassionati Apple. Dal 2007, sul nostro sito trovi notizie, recensioni e guide per imparare ad utilizzare al meglio iOS, l'iPhone e tutti gli altri dispostivi dell'azienda.

Contattaci
Pubblicità

Il Network
Il Network

L'esperienza maturata su iSpazio ci ha portati, con il tempo, a realizzare altri progetti ed aprire nuovi siti con tematiche strettamente correlate al nostro Blog principale.

Oggi, siamo i fieri proprietari di un Network composto da: iSpazio, Scontiamolo, Wallpapers Central e Smart Central e Teslers.

Link Rapidi
  • Chi siamo
  • Contattaci
  • Legal
  • Privacy Policy
  • Pubblicità su
© Copyright 2025 iSpazio SRL | Partita IVA: 10137091210
  • Chi siamo
  • Contattaci
  • Legal
  • Privacy Policy
  • Pubblicità su

Type above and press Enter to search. Press Esc to cancel.