OOP Concepts in Java

concetti oops in java

Cos'è l'OOPS?

Sistema di programmazione orientata agli oggetti (OOP) è un concetto di programmazione che funziona sui principi di astrazione, incapsulamento, ereditarietà e polimorfismo. Consente agli utenti di creare gli oggetti che desiderano e creare metodi per gestire tali oggetti. Il concetto di base degli OOP è creare oggetti, riutilizzarli in tutto il programma e manipolarli per ottenere risultati.

OOP che significa "programmazione orientata agli oggetti" è un concetto popolarmente conosciuto e ampiamente utilizzato nei linguaggi di programmazione moderni come Java.

OOP Concepts in Java con esempi

Di seguito sono riportati i concetti generali di OOPs in Java:

1) Classe

. classe è uno dei concetti base degli OOP, che è un gruppo di entità simili. È solo un componente logico e non l'entità fisica. Cerchiamo di capire questo uno degli OOP Concepts ad esempio, se avessi una classe chiamata "Auto costose", potrebbe contenere oggetti come Mercedes, BMW, Toyota, ecc. Le sue proprietà (dati) possono essere il prezzo o la velocità di queste auto. Sebbene i metodi che possono essere eseguiti con queste auto siano la guida, la retromarcia, la frenata, ecc.

2) Oggetto

Un oggetto può essere definito come un'istanza di una classe e possono esserci più istanze di una classe in un programma. Un oggetto è uno dei Java Concetti OOP che contengono sia i dati sia la funzione, che opera sui dati. Ad esempio: sedia, bicicletta, pennarello, penna, tavolo, macchina, ecc.

3) Eredità

Eredità è uno dei Basic Concepts di OOP in cui un oggetto acquisisce le proprietà e i comportamenti dell'oggetto genitore. Sta creando una relazione genitore-figlio tra due classi. Offre un meccanismo robusto e naturale per l'organizzazione e la struttura di qualsiasi software.

4) Polimorfismo

Polimorfismo si riferisce a uno dei concetti OOP in Java che è la capacità di una variabile, oggetto o funzione di assumere più forme. Ad esempio, in inglese, il verbo eseguire il ha un significato diverso se lo usi con un computer portatile, una corsa podisticae affari. Ecco, ne comprendiamo il significato eseguire il in base alle altre parole usate insieme ad esso. Lo stesso vale anche per il Polimorfismo.

5) Astrazione

Astrazione è uno degli OOP Concepts in Java che è un atto di rappresentazione di caratteristiche essenziali senza includere dettagli di background. È una tecnica di creazione di un nuovo tipo di dati che è adatto per un'applicazione specifica. Cerchiamo di capire questo uno degli OOP Concepts ad esempio, mentre guidi un'auto, non devi preoccuparti del suo funzionamento interno. Qui devi solo preoccuparti di parti come volante, ingranaggi, acceleratore, ecc.

6) Incapsulamento

incapsulamento è uno dei migliori Java Concetti OOP di wrapping di dati e codice. In questo concetto OOP, le variabili di una classe sono sempre nascoste alle altre classi. È possibile accedervi solo tramite i metodi della loro classe corrente. Ad esempio, a scuola, uno studente non può esistere senza una classe.

7) Associazione

L'associazione è una relazione tra due oggetti. È uno degli OOP Concepts in Java che definisce la diversità tra gli oggetti. In questo concetto OOP, tutti gli oggetti hanno un ciclo di vita separato e non esiste un proprietario. Ad esempio, molti studenti possono associarsi a un insegnante mentre uno studente può anche associarsi a più insegnanti.

8) Aggregazione

In questa tecnica, tutti gli oggetti hanno il loro ciclo di vita separato. Tuttavia, esiste una proprietà tale che l'oggetto figlio non può appartenere a un altro oggetto genitore. Ad esempio, considera il dipartimento di classe/oggetti e l'insegnante. In questo caso un singolo insegnante non può appartenere a più dipartimenti, ma anche se eliminiamo il dipartimento l'oggetto insegnante non verrà mai distrutto.

9) Composizione

La composizione è una forma specializzata di aggregazione. Si chiama anche relazione di “morte”. Gli oggetti secondari non hanno un loro ciclo di vita, quindi quando l'oggetto principale viene eliminato, anche tutti gli oggetti secondari verranno eliminati automaticamente. Per questo, prendiamo un esempio di Casa e stanze. Ogni casa può avere più stanze. Una stanza non può far parte di due case diverse. Pertanto, se elimini la stanza della casa, verrà eliminata anche la stanza.

Vantaggi degli OOP (sistema di programmazione orientato agli oggetti):

  • OOP Concepts in Java offrire una struttura modulare chiara e di facile comprensione per i programmi.
  • Gli oggetti creati per i programmi orientati agli oggetti possono essere riutilizzati in altri programmi. In questo modo si risparmiano costi di sviluppo significativi.
  • È difficile scrivere programmi di grandi dimensioni, ma se il team di sviluppo e progettazione segue i concetti OOPS, sarà in grado di progettare meglio con minimi difetti.
  • Migliora la modularità del programma perché ogni oggetto esiste in modo indipendente.

Confronto di OOPS con altri stili di programmazione con l'aiuto di un esempio

Capiamo con l'esempio come Java OOP Concepts sono diversi rispetto ad altri approcci di programmazione.

Linguaggi di programmazione possono essere classificati in 3 tipi principali

  1. Linguaggi di programmazione non strutturati: Il più primitivo di tutti i linguaggi di programmazione con flusso di controllo sequenziale. Il codice viene ripetuto in tutto il programma
  2. Linguaggi di programmazione strutturati: Ha un flusso di controllo non sequenziale. L'uso delle funzioni consente il riutilizzo del codice.
  3. Linguaggi di programmazione orientati agli oggetti: combina dati e azioni insieme.

Clicchi Qui. se il video non è accessibile

Capiamo queste 3 tipologie con un esempio.

Supponiamo che tu voglia creare un software bancario con funzioni come

  1. Cauzione
  2. Ritirare
  3. Mostra saldo

Linguaggi di programmazione non strutturati

Il primo di tutti i linguaggi di programmazione era il linguaggio di programmazione non strutturato. Un codice molto elementare di applicazione bancaria in linguaggio di programmazione non strutturato avrà due variabili di un numero di conto e un'altra per il saldo del conto

int account_number=20;
int account_balance=100;

Supponiamo che venga effettuato un deposito di 100 dollari.

account_balance=account_balance+100

Successivamente è necessario visualizzare il saldo del conto.

printf(“Account Number=%d,account_number)
printf(“Account Balance=%d,account_balance)

Ora viene ritirata la somma di 50 dollari.

account_balance=account_balance-50

Ancora una volta, è necessario visualizzare il saldo del conto.

printf(“Account Number=%d,account_number)
printf(“Account Balance=%d,account_balance)

Programmazione non strutturata

Per qualsiasi ulteriore operazione di deposito o prelievo, il codice ripeterà le stesse righe ancora e ancora.

Programmazione strutturata

Con l'arrivo della programmazione strutturata, righe ripetute del codice furono inserite in strutture come funzioni o metodi. Ogni volta che è necessario, viene effettuata una semplice chiamata alla funzione.

Programmazione strutturata

Programmazione orientata agli oggetti

Nel nostro programma, abbiamo a che fare con dati o eseguiamo operazioni specifiche sui dati. Infatti, avere dati ed eseguire determinate operazioni su quei dati è una caratteristica molto basilare in qualsiasi programma software. Gli esperti di programmazione software hanno pensato di combinare i dati e Operations. Quindi, la nascita della programmazione orientata agli oggetti che è comunemente chiamata OOPS. Lo stesso codice nei linguaggi di programmazione orientata agli oggetti avrà gli stessi dati e alcune azioni eseguite su quei dati.

Class Account{
    int account_number;
    int account_balance;
public void showdata(){
    system.out.println(“Account Number”+account_number)
    System.out.println(“Account Balance”+ account_balance)
}
}

Programmazione orientata agli oggetti

Combinando dati e azione, otterremo molti vantaggi rispetto alla programmazione strutturale, vale a dire:

  • Astrazione
  • incapsulamento
  • Eredità
  • Polimorfismo

Saranno discussi in modo più dettagliato nei tutorial successivi

Riassumi questo post con: