java class vs object how use class
In questo tutorial, discuteremo in dettaglio uno dei concetti di OOPS. Esploreremo tutto su Java Class and Object insieme ad esempi:
Sappiamo che la programmazione orientata agli oggetti enfatizza i dati e quindi ruota attorno a entità chiamate oggetti. Le classi agiscono come modelli di questi oggetti.
Vediamo come creare una classe e i suoi componenti. Impareremo anche a creare e inizializzare oggetti in Java con l'aiuto di esempi di programmazione più avanti in questo tutorial.
=> Visita qui per l'esclusiva serie di tutorial di formazione Java.
Cosa imparerai:
Classi e oggetti in Java
In Java, tutte le funzionalità, gli attributi, i metodi, ecc. Sono collegati a classi e oggetti. Non possiamo scrivere un programma Java solo con la funzione main senza dichiarare una classe come possiamo fare in C ++.
Per esempio, se vogliamo scrivere un programma su un veicolo, un veicolo è un oggetto in tempo reale. Ma i veicoli possono essere di vario tipo. Ciò significa che il veicolo ha un attributo type che può assumere vari valori come auto, camion, scooter, bici, ecc.
Quindi il modo in cui esprimiamo l'oggetto veicolo in Java è che creiamo una classe 'Veicolo' e quindi definiamo i suoi vari attributi. Quindi possiamo dichiarare vari oggetti di classe Veicolo come auto, bici, ecc.
All'interno della classe, possiamo definire le proprietà di Vehicle come attributi di classe (membri dati) e metodi come startVehicle (), stopVehicle (), ecc.
In questo modo, per esprimere anche la più piccola delle entità in Java, dobbiamo prima identificare l'oggetto e poi definirne il progetto o una classe.
Quindi impariamo prima tutto su classi e oggetti e poi passiamo agli altri concetti di OOP in Java.
Classe in Java
Per sviluppare un programma in Java, utilizziamo oggetti e classi. Mentre una classe in Java è solo un'unità logica, un oggetto in Java è sia un'entità fisica che logica.
VPN usando criptovalute
Cos'è un oggetto in Java?
Un oggetto è un'entità che ha uno stato e mostra un comportamento. Per esempio, qualsiasi entità della vita reale come una penna, un laptop, un cellulare, un tavolo, una sedia, un'auto, ecc. è un oggetto. Tutti questi oggetti sono fisici (tangibili) o logici (intangibili).
Gli oggetti immateriali sono principalmente un sistema aereo, bancario, ecc. Si tratta di entità logiche che hanno uno stato e un comportamento particolari.
Ogni oggetto ha le seguenti caratteristiche principali:
- Identità: Un ID univoco definisce l'identità dell'oggetto. Questo ID non viene visto dall'utente normale ma internamente JVM utilizza questo ID per identificare in modo univoco l'oggetto.
- Stato: Definisce i dati presenti nell'oggetto o il valore dell'oggetto.
- Comportamento: Questa caratteristica rappresenta la funzionalità (comportamento) di un oggetto. Per esempio, l'oggetto Veicolo di cui abbiamo discusso in precedenza ha il comportamento di avvio, arresto, ecc.
Rivedremo la definizione dell'oggetto quando definiremo la classe.
Allora cos'è una classe?
Sappiamo che il componente principale della programmazione orientata agli oggetti è un oggetto. Se vogliamo costruire un tipo specifico di oggetto, abbiamo bisogno di un progetto. Questo progetto ci fornirà una serie di istruzioni che ci aiuteranno a costruire un oggetto.
Per esempio, diciamo che vogliamo costruire una casa. La casa qui è un oggetto. Per costruire una casa abbiamo bisogno di un progetto iniziale per la casa. Non possiamo costruire direttamente la casa come ci pare.
È qui che entra in gioco la classe. Quindi, per costruire un oggetto o un'entità della vita reale, avremo prima un progetto che determina il contenuto e il comportamento di un oggetto. Questa è nota come classe nella programmazione orientata agli oggetti.
Quindi una classe può essere definita come ' un progetto o un modello e definisce lo stato e il comportamento dell'oggetto '.
Possiamo anche visualizzare la classe come un gruppo di oggetti. Questo gruppo ha alcune proprietà comuni a tutti gli oggetti.
Vediamo come creare una classe in Java.
Come creare una classe in Java
La sintassi di classe generale di una definizione di classe in Java è:
class extends implements interface_name> { //fields; //constructors //methods; //blocks }
La dichiarazione generale di una classe sopra è rappresentata nel diagramma seguente con una dichiarazione di classe di esempio:
Nota che la superclasse e l'interfaccia nella dichiarazione della classe sono opzionali. Possiamo scegliere di avere una classe autonoma senza estenderla da un'altra superclasse o implementare alcuna interfaccia.
La definizione generale di cui sopra ha mostrato anche i componenti che possono essere presenti nella definizione della classe.
Componenti di classe
I Componenti di Classe sono rappresentati di seguito.
Come mostrato nel diagramma sopra, una classe Java contiene i seguenti componenti:
- Campi
- Metodi
- Costruttori
- Blocchi
- Classe e interfaccia nidificate
Discuteremo in seguito i primi tre componenti. Questi componenti sono richiesti in qualsiasi classe. Le classi e le interfacce annidate sono un argomento completamente diverso e verranno discusse nelle nostre esercitazioni successive.
Prima di iniziare una discussione sui componenti della classe, definiamo prima una classe Customer_Account
class Customer_Account { static String bank_name; //class variable long customer_accountNo; //instance variable String customer_name; //instance variable //constructor Customer_Account (long accountnum, String accName){ customer_accountNo = accountnum; customer_name = accName; } //method void printInfo(){ System.out.println ('Customer Account Details:'); System.out.println ('Customer Account Number: ' + customer_accountNo); System.out.println (' Customer Name: '+customer_name); } }
Campi
I campi sono variabili o dati della classe. I campi vengono anche chiamati come variabili membro in Java. Usiamo i termini campo e variabile in modo intercambiabile.
Di solito, i campi di una classe sono di due tipi:
# 1) Variabili di classe: Le variabili di classe vengono dichiarate con la parola 'statica' in modo che siano variabili statiche. Ciò significa che questo tipo di variabile ha una sola copia per classe, indipendentemente dal numero di istanze o oggetti presenti per quella classe.
# 2) Variabili di istanza: Questi sono l'opposto delle variabili di classe. I membri dati sono chiamati variabili di istanza perché queste variabili hanno una memoria separata allocata per ciascuna istanza di classe in fase di runtime.
Nella definizione di classe sopra, abbiamo mostrato sia le variabili di classe che di istanza. La variabile 'bank_name' dichiarata con un modificatore statico è la variabile di classe. Le altre due variabili 'customer_accNo' e 'customer_name' sono variabili di istanza.
Costruttore
I costruttori sono metodi speciali generalmente utilizzati per inizializzare un'istanza di una classe. I costruttori non hanno un tipo restituito, hanno lo stesso nome della classe e possono contenere parametri o meno.
Nella definizione di classe sopra, abbiamo un costruttore.
Customer_Account (long accountnum, String accName)
Impareremo di più sui costruttori nei nostri tutorial successivi.
Metodo
Un metodo in una classe Java è la funzione che definisce il comportamento dell'oggetto e dei suoi membri.
Un metodo di classe viene creato nello stesso modo in cui creiamo metodi regolari in un programma. All'interno del metodo della classe, possiamo utilizzare tutti i costrutti e le funzionalità fornite da Java.
Nella nostra definizione di classe di esempio, abbiamo un metodo 'printInfo' che visualizza i vari membri di dati della classe.
Un metodo di classe Java di solito ha il seguente prototipo:
method_name(parameter list…){ //code blocks }
Ai metodi di classe si accede dall'istanza di classe utilizzando l'operatore punto. Quindi, se creiamo un'istanza acc della classe precedente 'Customer_Account', possiamo accedere a printInfo utilizzando la riga di codice sottostante.
come aprire i file .torrent
acc.printInfo();
Se access_modifier è statico, non è necessaria un'istanza per accedere al metodo. Possiamo usare il nome della classe direttamente per accedere al metodo come,
Custome_Account.printInfo ();
Esempio di classe Java
Implementiamo un semplice esempio per dimostrare una classe e un oggetto in Java.
//declare a class with three data members class Student{ int student_id; String student_name; Double student_marks; } class Main{ public static void main(String args[]){ //create a Student object using new operator Student student_object = new Student(); //display data members of the class. System.out.println('Student Id:' + student_object.student_id); System.out.println('Student Name:' + student_object.student_name); System.out.println('Student Marks:' + student_object.student_marks); } }
Produzione
Il programma precedente dichiara una classe Student. Ha tre variabili di istanza, vale a dire. student_id, student_name e student_marks.
Quindi definiamo la classe Main, in cui dichiariamo un oggetto della classe Student denominato student_object. Quindi utilizzando l'operatore punto, accediamo alle variabili di istanza e stampiamo i loro valori.
Il programma sopra è un esempio di un metodo principale al di fuori della classe.
Nell'esempio seguente avremo un metodo principale all'interno della classe.
//declare a class with three data members class Student{ int student_id; String student_name; Double student_marks; public static void main(String args[]){ //create a Student object using new operator Student student_object = new Student(); //display data members of the class. System.out.println('Student Id:' + student_object.student_id); System.out.println('Student Name:' + student_object.student_name); System.out.println('Student Marks:' + student_object.student_marks); } }
Produzione
Il programma precedente è lo stesso del programma precedente tranne per il fatto che il metodo principale è all'interno della classe Student.
Oggetto in Java
Ora, abbiamo abbastanza conoscenza delle classi in Java, possiamo ridefinire l'oggetto in termini di classe. Quindi un oggetto è ' un'istanza di una classe '. Quindi creiamo una variabile o un'istanza di tipo class_name e viene definita come un oggetto.
Alcuni punti da ricordare su un oggetto:
- Un oggetto è visto come un'unità di base di OOP insieme alla classe.
- Un oggetto è un'unità di runtime.
- Un oggetto è definito come un'istanza di una classe.
- Un oggetto ha comportamento e stato.
- Un oggetto prende tutte le proprietà e gli attributi della classe di cui è un'istanza. Ma in qualsiasi momento, ogni oggetto ha stati o valori variabili diversi.
- Un oggetto viene utilizzato per rappresentare un'entità in tempo reale nelle applicazioni software.
- Una singola classe può avere un numero qualsiasi di oggetti.
- Gli oggetti interagiscono tra loro tramite invocazione di metodi.
Come creare un'istanza di un oggetto
La dichiarazione dell'oggetto è anche definita come un file istanziazione di oggetti in Java. La dichiarazione di un oggetto è la stessa della dichiarazione di una variabile.
Per esempio, la classe Customer_Account che abbiamo dichiarato sopra può essere utilizzata per dichiarare un oggetto.
Pertanto dichiariamo o istanziamo l'oggetto di Customer_Account come segue:
Customer_Account account;
La dichiarazione precedente dichiara o crea un'istanza di un oggetto denominato 'account' della classe Customer_Account.
Nota che quando istanziamo un oggetto di una classe, la classe dovrebbe essere rigorosamente una 'classe concreta'. Non possiamo dichiarare un oggetto di una classe astratta.
L'istruzione precedente dichiara solo un oggetto. Non è possibile utilizzare questa variabile per chiamare i metodi della classe o impostare i valori delle variabili membro. Questo perché non abbiamo allocato alcuna memoria per l'oggetto dichiarato.
Quindi dobbiamo creare correttamente un oggetto per usarlo ulteriormente.
La creazione effettiva di un oggetto viene eseguita dall'inizializzazione degli oggetti. Una volta dichiarato un oggetto, è necessario inizializzarlo. Solo allora possiamo usare questo oggetto per accedere alle variabili membro e ai metodi della classe.
Come creare un oggetto
Possiamo creare un oggetto in Java utilizzando i seguenti metodi:
# 1) Utilizzo di una nuova parola chiave
Possiamo inizializzare un oggetto usando una nuova parola chiave. Questo metodo è il metodo più comunemente utilizzato per creare un nuovo oggetto.
Per esempio,data una classe ABC, possiamo creare un nuovo oggetto classe come segue:
ABC myObj = new ABC ();
Nell'istruzione precedente, myObj è il nuovo oggetto creato utilizzando il nuovo operatore. L'oggetto creato utilizzando questo metodo ha i valori iniziali di tutti i membri di dati. Il costrutto ABC () che segue la nuova parola chiave è il costruttore predefinito della classe ABC.
Possiamo anche definire costruttori con parametri e chiamare quel costruttore con la nuova parola chiave in modo da creare un oggetto con i valori desiderati dei membri dati.
# 2) Utilizzo del metodo Class.forName ()
Java fornisce una classe denominata 'Class' che conserva tutte le informazioni su classi e oggetti nel sistema. Possiamo usare il metodo forName () della classe 'Class' per creare un oggetto. Dobbiamo passare un nome di classe completo come argomento al metodo forName.
Quindi possiamo chiamare il metodo newInstance () che restituirà l'istanza della classe.
Le seguenti righe di codice lo mostrano.
ABC myObj = Class.forName (“com.myPackage.ABC”).newInstance();
L'istruzione precedente creerà un nuovo oggetto myObj della classe ABC.
# 3) Con il metodo clone ()
La classe Object in Java fornisce un metodo clone () che restituisce il clone o la copia dell'oggetto passato come argomento al metodo clone ().
Per esempio,
ABC myobj1 = new ABC (); ABC testObj = (ABC) myobj1.clone ();
# 4) Per deserializzazione
Java fornisce una tecnica chiamata deserializzazione in cui leggiamo un oggetto da un file salvato. Impareremo la deserializzazione in un tutorial separato.
Come inizializzare un oggetto
In questa sezione, discuteremo i metodi per inizializzare un oggetto in Java. L'inizializzazione si riferisce all'assegnazione di valori ai membri dati della classe. Di seguito sono riportati alcuni dei metodi utilizzati per inizializzare gli oggetti in Java.
# 1) Inizializza un oggetto tramite un riferimento
L'oggetto di riferimento creato viene utilizzato per memorizzare i valori nell'oggetto. Ciò viene eseguito semplicemente utilizzando un operatore di assegnazione.
L'inizializzazione di un oggetto utilizzando il riferimento è mostrata nel programma seguente.
//declare a class with three data members class Student{ int student_id; String student_name; Double student_marks; } class Main{ public static void main(String args[]){ //create a Student object using new operator Student student_object = new Student(); //initialization of class members using reference student_object.student_id = 101; student_object.student_name = 'Elena'; student_object.student_marks = 89.93; //display data members of the class. System.out.println('Student Id:' + student_object.student_id); System.out.println('Student Name:' + student_object.student_name); System.out.println('Student Marks:' + student_object.student_marks); } }
Produzione
Il programma precedente dichiara una classe Student con variabili a tre membri. Quindi nel metodo principale, creiamo un oggetto della classe Student utilizzando la nuova parola chiave. Quindi assegniamo i dati a ciascuno dei campi membro dell'oggetto come mostrato nel programma.
# 2) Inizializzazione dell'oggetto tramite il metodo
In questo esempio, stiamo creando i due oggetti della classe Student e inizializzando il valore su questi oggetti invocando il metodo insertRecord. Il metodo insertRecord è un metodo membro della classe Student.
//declare a class with three data members class Student{ int student_id; String student_name; Double student_marks; //method to initialize class data members void initialize_object(int id, String name, double marks) { student_id = id; student_name = name; student_marks = marks; } } class Main{ public static void main(String args[]){ //create a Student object using new operator Student student_object = new Student(); //initialization of class members through method student_object.initialize_object(27, 'Stefan', 78.86); //display data members of the class. System.out.println('Student Id:' + student_object.student_id); System.out.println('Student Name:' + student_object.student_name); System.out.println('Student Marks:' + student_object.student_marks); } }
Produzione
# 3) Inizializzazione di Object tramite Constructor
Possiamo anche inizializzare un oggetto usando un costruttore.
Di seguito viene fornito il programma per dimostrare l'uso del costruttore.
//declare a class with three data members class Student{ int student_id; String student_name; Double student_marks; //constructor for initialization Student(int id, String name, double marks) { student_id = id; student_name = name; student_marks = marks; } } class Main{ public static void main(String args[]){ //create a Student object using new operator and initialize it with constructor Student student_object = new Student(27, 'Stefan', 78.86); //display data members of the class. System.out.println('Student Id:' + student_object.student_id); System.out.println('Student Name:' + student_object.student_name); System.out.println('Student Marks:' + student_object.student_marks); } }
Produzione
In questo programma, la classe Student ha un costruttore parametrizzato che prende i parametri e li assegna alle variabili membro.
Oggetto Classe Vs in Java
Classe | Oggetto |
---|---|
Un campo membro di una classe non ha alcun valore. | Ogni oggetto ha una copia dei campi membro e dei valori associati. |
La classe è un modello o un progetto per la creazione di oggetti. | L'oggetto è un'istanza di una classe. |
La classe non alloca memoria quando viene creata. | All'oggetto viene allocata la memoria quando viene creato. |
La classe è un'entità logica. | L'oggetto è un'entità fisica. |
La classe viene dichiarata utilizzando una parola chiave di classe. | L'oggetto viene creato utilizzando i nuovi metodi forName () .newInstance (), clone (). |
La classe è un gruppo di oggetti identici. Per esempio. Animali di classe (). | L'oggetto è un'entità specifica. Per esempio. Animali cane = nuovi Animali (); |
La classe può essere dichiarata solo una volta. | Una classe può avere un numero qualsiasi di istanze o oggetti. |
Domande frequenti
D # 1) Qual è la differenza tra Class e Object?
Risposta: Una classe è un modello utilizzato per la creazione di oggetti. Un oggetto è un'istanza di una classe. Mentre una classe è un'entità logica, un oggetto è un'entità fisica. Ogni oggetto ha uno stato in cui tutte le variabili membro hanno valori specifici. La classe non ha uno stato.
D # 2) Cosa contiene una classe Java?
Risposta: Una classe Java che funge da modello o modello per la creazione di oggetti definisce proprietà o campi e comportamenti o metodi.
D # 3) Perché usiamo le classi in Java?
Risposta: Utilizzando classi e oggetti possiamo modellare le applicazioni del mondo reale in Java e quindi risolverle in modo efficiente. Gli oggetti con uno stato e un comportamento rappresentano entità del mondo reale e le classi agiscono come i loro progetti. Quindi, utilizzando le classi come elementi costitutivi, possiamo modellare qualsiasi applicazione complessa.
D # 4) Spiega la classe e l'oggetto con un esempio di vita reale.
Risposta: Se prendiamo l'auto come un oggetto, un'auto può avere attributi come marca, colore, motore, chilometraggio, ecc. Può anche avere alcuni metodi come start (), stop (), applybrakes (). Così possiamo modellare un'auto in un oggetto software. Ora l'auto può avere varie marche come Maruti, fiat, ecc.
Quindi, per rappresentare tutti questi modelli di auto, possiamo avere un modello di classe che conterrà tutti gli attributi e metodi comuni definiti in modo da poter istanziare questa classe e ottenere l'oggetto auto desiderato.
Così un'auto oggetto della vita reale può essere facilmente convertita in un oggetto in Java.
qual è il miglior software di rimozione dello spyware
Conclusione
In questo tutorial, abbiamo appreso i dettagli di classi e oggetti in Java. Abbiamo coperto la definizione di classe e oggetto. Il tutorial contiene una discussione dettagliata sulla definizione della classe, sui componenti della classe e sugli esempi di come utilizzare la classe in un programma.
Abbiamo anche appreso i dettagli degli oggetti in Java inclusa la sua dichiarazione, creazione, inizializzazione, ecc. Con esempi di programmazione appropriati.
Abbiamo esplorato le principali differenze tra classe e oggetti. Nei nostri prossimi tutorial, discuteremo i tipi di classi e i costruttori in classe, dopo di che ci sposteremo su altri argomenti.
=> Guarda qui la serie di formazione su Java semplice.
Lettura consigliata
- Nozioni di base su Java: sintassi Java, classe Java e concetti principali di Java
- Java Integer e Java BigInteger Class con esempi
- Cos'è Java Vector | Tutorial Java Vector Class con esempi
- Java OOP: Introduzione alla programmazione orientata agli oggetti in Java
- Tutorial Java Array Class - classe java.util.Arrays con esempi
- Tutorial di classe per scanner Java con esempi
- Matrice di oggetti in Java: come creare, inizializzare e utilizzare
- Tipi di classi in Java: astratta, concreta, finale, statica