[Java] Spiegazione concetti base del linguaggio

fabio.mandalari
Buongiorno a tutti, ho appena iniziato a frequentare un corso di programmazione a oggetti.
Studiando mi sono reso conto di non aver capito bene che cosa si intenda con i concetti di "classe", "oggetto", "metodo" e "costruttore".
Ovviamente ho cercato anche informazioni altrove rispetto al mio libro di testo, ma ho solo trovato delle spiegazioni (più propriamente delle definizioni) che rimangono sulla falsa riga di quanto detto dal testo, col risultato che ancora i concetti sopra scritti non mi sono ancora chiari.

Vorrei chiedere se qualcuno potrebbe darmi una spiegazione abbastanza intuitiva per cercare di focalizzare quale sia lo scopo di ogni concetto.
Grazie :smt023

Risposte
leonardo.cortes
Ciao, una classe è la definizione di un oggetto(es: oggetto animale) come l'esempio qui sotto :
class Animale
{
//Costruttore
public Animale()
{
//eseguo diverse azioni alla creazione dell'oggetto
}
//metodo
public void mangia()
{
//chiamato dall'oggetto
}

}

Il metodo è una funzione all'interno di una classe, in questo caso è "mangia", come intuisci definisce l'azione che un oggetto può svolgere.

Un oggetto è l'istanza di una classe, ovvero una volta definita una classe essa deve diventare "viva" ovvero in esecuzione in un programma, la creazione di un oggetto avviene nel seguente modo :
Animale animale = new Animale();//creazione di un oggetto
Animale animale -> definisce una variabile chiamata animale
new Animale() -> indica che dopo aver creato l'oggetto chiamo il costruttore Animale() all'interno della classe.
Per chiamare il metodo, ovvero l'azione che deve svolgere l'animale :
animale.mangia();//esecuzione delle istruzioni all'interno di mangia
Sò che non è semplice, spero di essere stato di aiuto.

CaMpIoN
Manca un concetto fondamentale: le proprietà o attributi della classe. Gli attributi sono variabili che indicano uno stato della classe. Metodi ed attributi sono detti membri interni della classe.
Un costruttore è talvolta definito come un metodo che ha il nome della classe e nessun valore di ritorno (void è considerato un valore di ritorno). Un costruttore però, a differenza dei metodi, non è definito come un membro interno. Immagina la classe come se stessi descrivendo al programma come devono essere certi tipi di oggetti. Il costruttore è una funzione che viene eseguita quando nasce questo oggetto, i membri interni della classe invece ne definiscono il comportamento e lo stato attuale.

Infine per capire cosa propriamente fai con un oggetto basta definire un applicazione ad oggetti. Nei linguaggi procedurali e funzionali le applicazioni sono viste come una sequenza di istruzioni e richiami di funzioni che di volta in volta vengono eseguite. Sulla descrizione dei concetti fatti sopra un'applicazione ad oggetti invece è un'applicazione definita da interazione tra gli oggetti, quindi tu descrivi questi oggetti e il loro comportamento e come tra di loro interagiscono.

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.