logo

Concetti Java OOP

  1. Programmazione orientata agli oggetti
  2. Vantaggio degli OOP rispetto al linguaggio di programmazione orientato alle procedure
  3. Differenza tra linguaggio di programmazione orientato agli oggetti e basato su oggetti.

In questa pagina impareremo le basi degli OOP. La programmazione orientata agli oggetti è un paradigma che fornisce molti concetti, come ad esempio eredità , associazione dati , polimorfismo , eccetera.

inizio è considerato il primo linguaggio di programmazione orientato agli oggetti. Il paradigma di programmazione in cui tutto è rappresentato come un oggetto è noto come un linguaggio di programmazione veramente orientato agli oggetti.

Chiacchiere è considerato il primo linguaggio di programmazione veramente orientato agli oggetti.

I popolari linguaggi orientati agli oggetti sono Giava , C# , PHP , Pitone , C++ , eccetera.

Lo scopo principale della programmazione orientata agli oggetti è implementare entità del mondo reale, ad esempio oggetti, classi, astrazione, ereditarietà, polimorfismo, ecc.

metodo Java

OOP (sistema di programmazione orientato agli oggetti)

Oggetto indica un'entità del mondo reale come una penna, una sedia, un tavolo, un computer, un orologio, ecc. Programmazione orientata agli oggetti è una metodologia o paradigma per progettare un programma utilizzando classi e oggetti. Semplifica lo sviluppo e la manutenzione del software fornendo alcuni concetti:

Oltre a questi concetti, ci sono altri termini utilizzati nella progettazione orientata agli oggetti:

  • Accoppiamento
  • Coesione
  • Associazione
  • Aggregazione
  • Composizione
Concetti Java OOP

Oggetto

Oggetto Java

Qualsiasi entità dotata di stato e comportamento è nota come oggetto. Ad esempio, una sedia, una penna, un tavolo, una tastiera, una bicicletta, ecc. Può essere fisico o logico.

Un oggetto può essere definito come un'istanza di una classe. Un oggetto contiene un indirizzo e occupa spazio in memoria. Gli oggetti possono comunicare senza conoscere i dettagli dei dati o del codice degli altri. L'unica cosa necessaria è il tipo di messaggio accettato e il tipo di risposta restituita dagli oggetti.

Esempio: Un cane è un oggetto perché ha stati come colore, nome, razza, ecc., nonché comportamenti come scodinzolare, abbaiare, mangiare, ecc.

Classe

Raccolta di oggetti si chiama classe. È un'entità logica.

Una classe può anche essere definita come un progetto da cui è possibile creare un singolo oggetto. La lezione non consuma spazio.

Eredità

Quando un oggetto acquisisce tutte le proprietà e i comportamenti di un oggetto genitore , è noto come eredità. Fornisce la riusabilità del codice. Viene utilizzato per ottenere il polimorfismo di runtime.

Polimorfismo in Java

Polimorfismo

Se un compito viene eseguito in modi diversi , è noto come polimorfismo. Ad esempio: convincere il cliente in modo diverso, disegnare qualcosa, ad esempio forma, triangolo, rettangolo, ecc.

In Java utilizziamo l'overloading e l'override del metodo per ottenere il polimorfismo.

Un altro esempio può essere dire qualcosa; ad esempio, un gatto miagola, un cane abbaia, ecc.

Astrazione

Nascondere i dettagli interni e mostrare la funzionalità è noto come astrazione. Ad esempio la telefonata, non conosciamo l'elaborazione interna.

In Java, utilizziamo classi e interfacce astratte per ottenere l'astrazione.

Concetti di incapsulamento in Java OOP

Incapsulamento

Il collegamento (o il confezionamento) di codice e dati in una singola unità è noto come incapsulamento . Ad esempio, una capsula è avvolta con diversi medicinali.

Una classe Java è l'esempio di incapsulamento. Il bean Java è la classe completamente incapsulata perché tutti i membri dati qui sono privati.

Accoppiamento

L'accoppiamento si riferisce alla conoscenza, all'informazione o alla dipendenza di un'altra classe. Sorge quando le classi sono consapevoli l'una dell'altra. Se una classe ha le informazioni dettagliate di un'altra classe, esiste un forte accoppiamento. In Java utilizziamo i modificatori private, protected e public per visualizzare il livello di visibilità di una classe, un metodo e un campo. È possibile utilizzare le interfacce per l'accoppiamento più debole perché non esiste un'implementazione concreta.

Coesione

La coesione si riferisce al livello di un componente che svolge un unico compito ben definito. Un singolo compito ben definito viene svolto con un metodo altamente coeso. Il metodo debolmente coeso dividerà il compito in parti separate. Il pacchetto java.io è un pacchetto altamente coeso poiché dispone di classi e interfacce relative all'I/O. Tuttavia, il pacchetto java.util è un pacchetto poco coeso perché ha classi e interfacce non correlate.

Associazione

L'associazione rappresenta la relazione tra gli oggetti. Qui, un oggetto può essere associato a uno o più oggetti. Possono esserci quattro tipi di associazione tra gli oggetti:

  • Uno a uno
  • Uno a molti
  • Molti a uno, e
  • Molti a molti

Comprendiamo la relazione con gli esempi in tempo reale. Ad esempio, un paese può avere un primo ministro (uno a uno) e un primo ministro può avere molti ministri (uno a molti). Inoltre, molti parlamentari possono avere un primo ministro (molti a uno) e molti ministri possono avere molti dipartimenti (molti a molti).

L'associazione può essere undirezionale o bidirezionale.

Aggregazione

L'aggregazione è un modo per raggiungere l'Associazione. L'aggregazione rappresenta la relazione in cui un oggetto contiene altri oggetti come parte del suo stato. Rappresenta la relazione debole tra gli oggetti. È anche definito come a ha un relazione in Java. Ad esempio, l'eredità rappresenta il è un relazione. È un altro modo per riutilizzare gli oggetti.

Composizione

La composizione è anche un modo per realizzare l'Associazione. La composizione rappresenta la relazione in cui un oggetto contiene altri oggetti come parte del suo stato. Esiste una forte relazione tra l'oggetto contenitore e l'oggetto dipendente. È lo stato in cui gli oggetti contenenti non hanno un'esistenza indipendente. Se elimini l'oggetto principale, tutti gli oggetti secondari verranno eliminati automaticamente.


Vantaggio degli OOP rispetto al linguaggio di programmazione orientato alle procedure

1) Gli OOP semplificano lo sviluppo e la manutenzione, mentre, in un linguaggio di programmazione orientato alle procedure, non è facile da gestire se il codice cresce all'aumentare delle dimensioni del progetto.

come eseguire uno script su Linux

2) Gli OOP forniscono l'occultamento dei dati, mentre, in un linguaggio di programmazione orientato alle procedure, è possibile accedere ai dati globali da qualsiasi luogo.

Dati globali

Figura: Rappresentazione dei dati nella programmazione orientata alle procedure


Dati oggetto

Figura: Rappresentazione dei dati nella programmazione orientata agli oggetti

3) Gli OOP offrono la possibilità di simulare eventi del mondo reale in modo molto più efficace. Possiamo fornire la soluzione del problema della parola reale se utilizziamo il linguaggio di programmazione orientato agli oggetti.


Qual è la differenza tra un linguaggio di programmazione orientato agli oggetti e un linguaggio di programmazione basato sugli oggetti?

Il linguaggio di programmazione basato su oggetti segue tutte le funzionalità degli OOP tranne l'ereditarietà. JavaScript e VBScript sono esempi di linguaggi di programmazione basati su oggetti.



Sai?
  • Possiamo sovraccaricare il metodo principale?
  • Un costruttore Java restituisce un valore ma cosa?
  • Possiamo creare un programma senza il metodo principale?
  • Quali sono i sei modi per utilizzare questa parola chiave?
  • Perché l'ereditarietà multipla non è supportata in Java?
  • Perché utilizzare l'aggregazione?
  • Possiamo sovrascrivere il metodo statico?
  • Qual è il tipo di rendimento covariante?
  • Quali sono i tre usi della super parola chiave Java?
  • Perché utilizzare il blocco inizializzatore di istanze?
  • A cosa serve una variabile finale vuota?
  • Che cos'è un marcatore o un'interfaccia contrassegnata?
  • Che cos'è il polimorfismo di runtime o l'invio del metodo dinamico?
  • Qual è la differenza tra rilegatura statica e dinamica?
  • Quanto è possibile il downcasting in Java?
  • Qual è lo scopo di un costruttore privato?
  • Cos'è la clonazione degli oggetti?
Cosa impareremo nei Concetti OOP?
  • Vantaggio degli OOP
  • Convenzione sui nomi
  • Oggetto e classe
  • Sovraccarico del metodo
  • Costruttore
  • parola chiave statica
  • questa parola chiave con sei utilizzi
  • Eredità
  • Aggregazione
  • Metodo prioritario
  • Tipo di rendimento covariante
  • parola chiave eccellente
  • Blocco Inizializzatore di istanze
  • parola chiave finale
  • Classe astratta
  • Interfaccia
  • Polimorfismo di runtime
  • Legame statico e dinamico
  • Downcasting con operatore istanza
  • Pacchetto
  • Modificatori di accesso
  • Incapsulamento
  • Clonazione di oggetti