Chiudi il Menu
iSpazioiSpazio
  • Notizie
  • Offerte iSpazio
  • Sfondi
  • Downloads
  • Recensioni
  • iOS 26
  • Sconti Amazon
Menu Espanso
  • Home
  • Forum
  • Notizie
  • Offerte iSpazio
  • iOS 26
  • iPhone 16
  • Downloads
  • Guide
  • Sconti Amazon
  • Contatti
  • Pubblicità
Facebook X (Twitter) Instagram YouTube TikTok
iSpazioiSpazio
  •  Forum
  • Offerte iSpazio
  • Wallpapers Central
  • Teslers
Scarica l'App
  • Offerte
  • Sfondi
  • 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. Vedi tutto

    L’iPhone Pieghevole entra in produzione: svelate le misure della piega

    25 Feb 2026

    iPhone 18 Pro e Pro Max avranno un’Isola dinamica più piccola

    25 Feb 2026

    Apple registra un record di vendite di iPhone in Europa nel 2025

    25 Feb 2026

    iPhone 17e: cosa aspettarsi dal lancio di marzo 2026

    24 Feb 2026

    Apple prepara una settimana di annunci: in arrivo nuovi iPhone, iPad e Mac

    18 Feb 2026

    iPad Pro resterà praticamente invariato per anni, Apple rallenta gli aggiornamenti

    17 Feb 2026

    La barra compatta di Safari fa il suo ritorno su macOS 26.4 e iPadOS 26.4

    17 Feb 2026

    Apple si prepara a lanciare i nuovi iPad entry-level e iPad Air, ma cambierà davvero qualcosa?

    9 Feb 2026

    Apple prepara il MacBook Pro M6 con display touch ed isola dinamica: è il rumor del secolo!

    25 Feb 2026

    Apple produrrà il Mac mini in USA a partire da quest’anno

    24 Feb 2026

    macOS 26.3 svela l’arrivo del MacBook economico e di due nuovi Studio Display

    20 Feb 2026

    I colori del MacBook economico erano stati testati per il MacBook Air M2

    20 Feb 2026

    Apple rilascia macOS Tahoe 26.3, watchOS 26.3 e tvOS 26.3

    11 Feb 2026

    Apple lancia la sfida del Mese del Cuore 2026 su Apple Watch

    11 Feb 2026

    Apple rilascia watchOS 11.6.2 con una correzione importante

    6 Feb 2026

    Apple rilascia nuovi aggiornamenti per vecchie versioni di iOS, macOS e watchOS

    3 Feb 2026

    L’iPhone Pieghevole entra in produzione: svelate le misure della piega

    25 Feb 2026

    Apple acquisisce invrs.io, startup specializzata in strumenti AI per ottica e fotonica

    25 Feb 2026

    Offerte del giorno: Ecco i migliori sconti selezionati da iSpazio

    25 Feb 2026

    iPhone 18 Pro e Pro Max avranno un’Isola dinamica più piccola

    25 Feb 2026

    L’iPhone Pieghevole entra in produzione: svelate le misure della piega

    25 Feb 2026

    Apple acquisisce invrs.io, startup specializzata in strumenti AI per ottica e fotonica

    25 Feb 2026

    Offerte del giorno: Ecco i migliori sconti selezionati da iSpazio

    25 Feb 2026

    iPhone 18 Pro e Pro Max avranno un’Isola dinamica più piccola

    25 Feb 2026
  • iPhone 17
  • iOS 26
  • Sconti Amazon
Contatti
Pubblicità
iSpazioiSpazio
  • Notizie
  • Offerte iSpazio
  • Sfondi
  • Downloads
  • Recensioni
  • iOS 26
  • Sconti Amazon
iPhone

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

Enzo FrancescaDi Enzo Francesca14 Nov 2008Commenta4 min di lettura
Condividi Facebook Twitter Telegram WhatsApp Copia Link Threads Email
Share
Facebook Twitter WhatsApp Telegram Threads Email Copia Link
In qualità di Affiliato Amazon, iSpazio riceve una commissione dagli acquisti idonei senza alcun costo per voi. (info).
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.
Icona dell'applicazione Le Migliori Offerte Amazon disponibile su App Store

Le Migliori Offerte Amazon

Selezionate dalla redazione di iSpazio
GUARDALE LIVE  
  • Filtra:
  • Tutte
  • Minimo Storico
  • Alimentari e cura della casa
  • Bellezza
  • Casa e cucina
  • Elettronica
  • Fai da te
  • Giochi e giocattoli
  • Grandi elettrodomestici
  • Moda
71%
Iconic Puzzles – Cani che Giocano a Poker, puzzle in legno 100% sostenibile, Regali per Bambini e Adulti, taglia M, 350 Pezzi
08:55
Iconic Puzzles – Cani che Giocano a Poker, puzzle in legno 100% sostenibile, Regali per Bambini e Adulti, taglia M, 350 Pezzi36,90€10,78€
36%
Bosch WAN28208II Serie 4 Lavatrice a carica frontale, 8 kg, 1400 giri, Classe energetica A, motore inverter con 10 anni di garanzia, riduce le pieghe e facilita la stiratura, Bianco, 60 Cm
08:55
Bosch WAN28208II Serie 4 Lavatrice a carica frontale, 8 kg, 1400 giri, Classe energetica A, motore inverter con 10 anni di garanzia, riduce le pieghe e facilita la stiratura, Bianco, 60 Cm649,00€417,94€
40%  
BOSTIK Colla Istantanea Universale Super Mini Blister 3 x 1 gr
08:52
BOSTIK Colla Istantanea Universale Super Mini Blister 3 x 1 gr4,16€2,51€
29%  
Kinder Cioccolato – 80 Barrette Ripiene al Latte e Ricoperte di Finissimo Cioccolato Puro Cacao, Senza Glutine, Formato Scorta, 20 Confezioni da 4 Barrette, 1 kg
08:49
Kinder Cioccolato – 80 Barrette Ripiene al Latte e Ricoperte di Finissimo Cioccolato Puro Cacao, Senza Glutine, Formato Scorta, 20 Confezioni da 4 Barrette, 1 kg23,80€16,90€
73%  
OUKITEL Smartwatch Uomo Donna 1.83″ HD, Orologio Intelligente con Chiamate Bluetooth, 100+ Sport, Cardiofrequenzimetro, SpO2, IP68, Controllo Musica, Foto, Notifiche, Fitness Tracker per Android iOS
08:47
OUKITEL Smartwatch Uomo Donna 1.83″ HD, Orologio Intelligente con Chiamate Bluetooth, 100+ Sport, Cardiofrequenzimetro, SpO2, IP68, Controllo Musica, Foto, Notifiche, Fitness Tracker per Android iOS99,99€26,99€
35%
SHAN ZU Coltello Santoku Coltello Santoku da 8 Pollici in Acciaio Giapponese Damasco Coltelli da Cucina Professionali Affilato Super Acciaio ad Alto Tenore di Carbonio 67 Strati con Manico G10
08:42
SHAN ZU Coltello Santoku Coltello Santoku da 8 Pollici in Acciaio Giapponese Damasco Coltelli da Cucina Professionali Affilato Super Acciaio ad Alto Tenore di Carbonio 67 Strati con Manico G1089,99€58,63€
15%  
SONGMICS Stand Appendiabiti con Ruote, Attaccapanni, 2 Ruote con Freno, Camera da Letto, Portata fino a 50 kg, 38 x 110 x 141,5 cm, Nero Inchiostro HSR016BH01
08:36
SONGMICS Stand Appendiabiti con Ruote, Attaccapanni, 2 Ruote con Freno, Camera da Letto, Portata fino a 50 kg, 38 x 110 x 141,5 cm, Nero Inchiostro HSR016BH0128,99€24,64€
33%
Misura Biscotti al Miele Privolat | Senza Latte e Uova | Confezione da 400 grammi
08:35
Misura Biscotti al Miele Privolat | Senza Latte e Uova | Confezione da 400 grammi2,75€1,83€
48%
Power Bank 20000mAh PD3.0 QC4.0 22,5W Powerbank Ricarica Rapida, Ingresso e Uscita USB C Caricatore Portatile Powerbank Con Display LCD per Smartphone smartwatch ecc (black01)
08:31
Power Bank 20000mAh PD3.0 QC4.0 22,5W Powerbank Ricarica Rapida, Ingresso e Uscita USB C Caricatore Portatile Powerbank Con Display LCD per Smartphone smartwatch ecc (black01)25,00€12,99€
31%
Jade Leaf Brand Farina di Riso – 454 gr
08:26
Jade Leaf Brand Farina di Riso – 454 gr8,55€5,93€
42%
Yankee Candle Candela profumata in giara grande | Giorno del matrimonio | Durata Fino a 150 Ore
08:21
Yankee Candle Candela profumata in giara grande | Giorno del matrimonio | Durata Fino a 150 Ore34,90€20,38€
25%  
SPIN MASTER Paw Patrol Dropple – Lookout Tower Drop Game
08:16
SPIN MASTER Paw Patrol Dropple – Lookout Tower Drop Game19,99€14,99€
13%  
Calvin Klein CK One Gold Eau De Toilette 50ml
08:15
Calvin Klein CK One Gold Eau De Toilette 50ml19,60€17,00€
50%  
Desigual JERS_ORQUIDEA_Lacroix, 3113 Lilas, M
08:11
Desigual JERS_ORQUIDEA_Lacroix, 3113 Lilas, M89,95€44,97€
29%  
Levesolls Cuscino Cervicale per Dormire 2 in 1 – Cuscino in Memory Foam per Dormitori Laterali, Supini e Supporto Ergonomico, con Federa Sfoderabile e Lavabile, 61x41x12, 13cm
08:06
Levesolls Cuscino Cervicale per Dormire 2 in 1 – Cuscino in Memory Foam per Dormitori Laterali, Supini e Supporto Ergonomico, con Federa Sfoderabile e Lavabile, 61x41x12, 13cm39,99€28,49€
40%
Moulinex Lightmix, Frullatore Portatile 300ml, Potente e Silenzioso, Bicchiere in Tritan Infrangibile, Lunga Autonomia e Auto Spegnimento, Colore Giallo, LM1C02
08:00
Moulinex Lightmix, Frullatore Portatile 300ml, Potente e Silenzioso, Bicchiere in Tritan Infrangibile, Lunga Autonomia e Auto Spegnimento, Colore Giallo, LM1C0249,99€29,99€

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
Condividi Facebook Twitter Telegram WhatsApp Threads Email Copia Link
Articolo precedenteSchermata grigia nell’applicazione Orologio? Ecco il Fix
Articolo successivo Arrivano i primi moduli iGPS360 in Italia: Impressioni e Feedback

Articoli correlati

L’iPhone Pieghevole entra in produzione: svelate le misure della piega

25 Feb 2026Commenta

iPhone 18 Pro e Pro Max avranno un’Isola dinamica più piccola

25 Feb 2026Commenta

Apple registra un record di vendite di iPhone in Europa nel 2025

25 Feb 2026Commenta

iPhone 17e: cosa aspettarsi dal lancio di marzo 2026

24 Feb 2026Commenta

Leggi o Aggiungi Commenti

Advertising

Da non perdere!

Apple prepara il MacBook Pro M6 con display touch ed isola dinamica: è il rumor del secolo!

25 Feb 2026

Wallpapers Central si aggiorna: tornano i LIVE Wallpapers e tantissime altre novità!

24 Feb 2026

iPhone 17e: cosa aspettarsi dal lancio di marzo 2026

24 Feb 2026

Apple rilascia iOS 26.4 beta 2: Ecco le Novità, in continuo aggiornamento [4]

23 Feb 2026

Gli articoli più letti

L’iPhone Pieghevole entra in produzione: svelate le misure della piega

Apple acquisisce invrs.io, startup specializzata in strumenti AI per ottica e fotonica

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 Teslers.

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

Scrivi quello che vuoi cercare e premi Invio.