Impara a programmare con Java

Probabilmente hai già sentito il termine oggetto in un contesto di programmazione. Ma cosa significa veramente? Iniziamo guardando alcuni oggetti del mondo reale, come penne, libri, smartphone, computer, ecc.

Tutti i tipi di oggetti!
Tutti i tipi di oggetti!

Ogni oggetto è disponibile in forme e forme diverse, ma è possibile classificare diverse versioni dello stesso oggetto in una categoria o gruppo. È per questo che puoi andare in un negozio di mobili e riconoscere diversi oggetti come “sedie” anche se sembrano molto diversi l’uno dall’altro.

Riconosci tutti questi oggetti diversi come parte dello stesso gruppo o tipo. Si notano punti in comune tra diversi oggetti, si raccolgono le informazioni e si crea una rappresentazione mentale per una determinata categoria di oggetti.

Ad esempio, ci sono diversi tipi di libri là fuori, ma tutti tendono ad avere un titolo, un autore, una copertina, pagine, ecc. In altre parole, i singoli libri hanno tutti attributi simili che ti permettono di classificarli nella tua mente come parte della categoria “libro.”

Libri di diverse dimensioni, colori e lunghezze
Libri di diverse dimensioni, colori e lunghezze

Questa lista mentale di attributi che abbiamo appena descritto per un libro che agisce come una sorta di traccia per l’oggetto. In programmazione, si chiama una classe. Quando si crea una classe, è possibile trovare qualsiasi nome personalizzato, motivo per cui vengono chiamati un tipo con nome. Come vedrai, ti permettono anche di raggruppare molti dettagli insieme, motivo per cui possono essere definiti tipi complessi. D’altra parte, i tipi semplici con cui hai già familiarità, come int o double, hanno nomi predefiniti dal linguaggio di programmazione e non possono essere modificati.

Come troviamo i nomi delle classi?

Simile alle variabili di denominazione, i nomi delle classi devono essere descrittivi e enunciati (ricorda, evita le abbreviazioni!). Una differenza fondamentale è che, invece di usare camelCase standard, la prima lettera dovrebbe anche essere maiuscola come MarvelousCreature e non marvelousCreature.

Progettare classi

Per vedere come progettare una classe, continuiamo con l’esempio del libro. Di seguito, abbiamo identificato un campione di informazioni che potrebbero descrivere un determinato libro:

  • titolo

  • autore

  • numero di pagine

  • editore

Questi sono gli attributi di qualsiasi libro nella vita reale. Nel contesto delle classi, tali attributi sono chiamati campi in Java. I campi di una classe sono semplicemente un nome di fantasia per qualcosa che hai già familiarità con: variabili!

Ora, hai la teoria, quindi mettiamolo per iscritto!

Per dichiarare una classe in Java, utilizzare una parola chiave class seguita da un nome personalizzato. Dopodiché, terminalo con parentesi graffe ({}) che abbracceranno l’intero contenuto. Questo include l’elenco completo delle proprietà:

class Book {// functionality of the class}

Ora aggiungiamo i campi come definiti in precedenza:

class Book { String title; String author; int numberOfPages; String publisher="OC";}

Nota come i primi tre non hanno valori, ma l’ultimo lo fa? Se sei un editore che vuole catalogare i tuoi libri, allora sai che il valore dell’editore sarà sempre lo stesso, indipendentemente dal libro che produci. I titoli dei libri, gli autori e i numeri di pagina, tuttavia, cambieranno a seconda del particolare libro.

Se si torna all’esempio originale di una libreria online, tuttavia, la classe sarebbe più simile a questa:

class Book { String title; String author; int numberOfPages; String publisher;}

Poiché avrai libri da molti editori diversi, non puoi inserire un valore predefinito per tutti loro. Quindi, qui, definisci il campo e inserisci un valore più tardi!

Utilizzando le classi

Hai un tipo nuovo di zecca – Book 📖 – risolto! Cosa puoi farci? Dopo tutto, le classi sono più astratte o concettuali. I campi di classe sono come un modello su una libreria online: non importa quale libro cerchi, appariranno le stesse informazioni (titolo, autore, numero di pagine, ecc.).

Ma quando stai cercando, non digiti semplicemente “libro”, giusto? Non è utile! Hai bisogno di un’istanza specifica di un libro, diciamo, Alice nel paese delle Meraviglie. Stai cercando un oggetto reale che puoi sfogliare e leggere. È lo stesso nella programmazione di computer.

Per lavorare con una classe, è necessario creare un oggetto concreto di quella classe. In altre parole, hai bisogno di un oggetto specifico, come un libro particolare (Alice nel Paese delle Meraviglie). Quel libro specifico è chiamato un’istanza di una classe! Come suggerisce il nome, il processo è chiamato istanziare o inizializzare un oggetto. Per quello, crei una variabile della classe.

In Java, ogni campo dell’oggetto creato deve avere un valore. Questi valori possono essere forniti in alcuni modi. Ne hai visto uno nell’esempio del publisher: impostare un valore nella definizione della classe.

Un altro modo è fornire un valore nell’istruzione che crea la classe. Diamo un’occhiata a come farlo. Ecco il codice per la creazione di un libro con i valori forniti al momento della creazione dell’oggetto:

Istanziazione di un oggetto
Istanziazione di un oggetto

Come puoi vedere, ci sono alcuni elementi diversi. Per prima cosa, fai una dichiarazione regolare di una variabile, con il suo nome myBook e il suo tipo Book. Ricorda come abbiamo detto che una classe è un tipo complesso con nome? Bene, ecco la prova! Invece di intdoubleo string, il nostro tipo è la classe che abbiamo inventato! 💫

Ora, ecco che arriva la parte interessante. La variabile viene inizializzata con l’espressione di creazione dell’oggetto new Book("Coding is art","Becky James",425);. Questa espressione è composta dalla parola chiave new, seguita di nuovo dal nome della classe (Book) e da alcune parentesi () con valori all’interno. Come puoi vedere, le parentesi contengono un valore specificato per ciascuno dei campi originali: titleauthor e numberOfPages. Abbiamo fatto in modo di separare ciascuno con una virgola. Infine, termina con un punto e virgola ;. Con questo, hai creato un’istanza del Libro di classe! Working

Lavorare con gli attributi (campi)

Uff! Questo era un sacco di vocabolario e concetti. Prima di andare avanti, ricapitoliamo con un rapido diagramma:

Dalla classe all'oggetto!
Dalla classe all’oggetto!

È meglio? Ricorda:

  • Usa una classe come modello per i tuoi oggetti futuri. In una classe, definire il nome e il tipo di alcune variabili. In Java, questi sono chiamati attributi in generale e campi in particolare.

  • Per utilizzare il piano freddo che hai fatto, devi creare un oggetto usando il processo di istanziazione. Ciò significa dichiarare una variabile con la tua classe come tipo, quindi utilizzare l’espressione di creazione dell’oggetto che hai visto sopra.

  • Quando si crea un’istanza di un oggetto, si creano valori per ciascuno dei campi già definiti nella classe.

  • Un oggetto è chiamato un’istanza di una classe.

Ora sei pronto! Hai il tuo oggetto libro, ma dì che cambi idea sul valore delle tue variabili. Come si accede ai campi associati al nuovo oggetto lucido?

Un modo comune per accedere ai campi in molti linguaggi di programmazione sta usando quella che viene chiamata notazione a punti. Significa che devi scrivere il nome di un’istanza o di un oggetto seguito da un nome di attributo di interesse, separato da un punto: instanceVariableName.attributeName.

myBook.title = "Coding is Art";myBook.author = "Becky James";myBook.numberOfPages = myBook.numberOfPages + 10;

Ora è possibile impostare modificare il valore dei campi all’interno del vostro oggetto! Immagina di aver aggiunto dieci pagine perché hai dimenticato di aggiungere l’indice del libro. È possibile digitare direttamente il nuovo numero o aggiungere dieci pagine al valore esistente come nella terza riga. Questo è abbastanza utile quando si apportano piccole modifiche. Try

Provalo tu stesso

https://api.next.tech/api/v1/publishable_key/2A9CAA3419124E3E8C3F5AFCE5306292?content_id=2871d3da-5053-4373-a813-46b6fcf8118c

Sommario

In questo capitolo, hai imparato i fondamenti degli oggetti:

  • Una classe è un progetto di un oggetto.

  • Una variabile di una classe è chiamata istanza di una classe o di un oggetto.

  • Una classe consente di creare tipi complessi raggruppando i suoi attributi definendo i campi.

  • Per creare un oggetto, è necessario dichiarare una variabile di una classe e istanziarla.

  • La notazione dot fornisce l’accesso ai campi.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.