logo

Conceptes de Java OOP

  1. Programació Orientada a Objectes
  2. Avantatge dels POO sobre el llenguatge de programació orientat a procediments
  3. Diferència entre el llenguatge de programació orientat a objectes i el basat en objectes.

En aquesta pàgina, coneixerem els conceptes bàsics dels POO. La programació orientada a objectes és un paradigma que proporciona molts conceptes, com ara herència , vinculació de dades , polimorfisme , etc.

començament es considera el primer llenguatge de programació orientat a objectes. El paradigma de programació on tot es representa com un objecte es coneix com un veritable llenguatge de programació orientat a objectes.

Petit sermo es considera el primer llenguatge de programació realment orientat a objectes.

Els populars llenguatges orientats a objectes són Java , C# , PHP , Python , C++ , etc.

L'objectiu principal de la programació orientada a objectes és implementar entitats del món real, per exemple, objecte, classes, abstracció, herència, polimorfisme, etc.

què és $home linux

OOPs (Sistema de programació orientada a objectes)

Objecte significa una entitat del món real com un bolígraf, una cadira, una taula, un ordinador, un rellotge, etc. Programació Orientada a Objectes és una metodologia o paradigma per dissenyar un programa utilitzant classes i objectes. Simplifica el desenvolupament i el manteniment del programari proporcionant alguns conceptes:

A part d'aquests conceptes, hi ha altres termes que s'utilitzen en el disseny orientat a objectes:

  • Acoblament
  • Cohesió
  • Associació
  • Agregació
  • Composició
Conceptes de Java OOP

Objecte

Objecte Java

Qualsevol entitat que tingui estat i comportament es coneix com a objecte. Per exemple, una cadira, un bolígraf, una taula, un teclat, una bicicleta, etc. Pot ser físic o lògic.

Un objecte es pot definir com una instància d'una classe. Un objecte conté una adreça i ocupa una mica d'espai a la memòria. Els objectes es poden comunicar sense conèixer els detalls de les dades o el codi dels altres. L'únic necessari és el tipus de missatge acceptat i el tipus de resposta que retornen els objectes.

Exemple: Un gos és un objecte perquè té estats com el color, el nom, la raça, etc. així com comportaments com moure la cua, bordar, menjar, etc.

Classe

Col·lecció d'objectes s'anomena classe. És una entitat lògica.

Una classe també es pot definir com un pla a partir del qual podeu crear un objecte individual. La classe no consumeix espai.

Herència

Quan un objecte adquireix totes les propietats i comportaments d'un objecte pare , es coneix com a herència. Proporciona la reutilització del codi. S'utilitza per aconseguir polimorfisme en temps d'execució.

Polimorfisme a Java

Polimorfisme

Si una tasca es realitza de diferents maneres , es coneix com a polimorfisme. Per exemple: per convèncer el client de manera diferent, per dibuixar alguna cosa, per exemple, forma, triangle, rectangle, etc.

A Java, fem servir la sobrecàrrega de mètodes i la substitució de mètodes per aconseguir polimorfisme.

Un altre exemple pot ser parlar alguna cosa; per exemple, un gat parla miau, el gos borda, etc.

Abstracció

Ocultar detalls interns i mostrar la funcionalitat es coneix com abstracció. Per exemple, trucada telefònica, no coneixem el processament intern.

A Java, utilitzem classes i interfícies abstractes per aconseguir l'abstracció.

Conceptes d'encapsulació en Java OOPs

Encapsulació

L'enllaç (o embolcall) de codi i dades en una sola unitat es coneix com a encapsulació . Per exemple, una càpsula, s'embolica amb diferents medicaments.

Una classe java és l'exemple d'encapsulació. Java bean és la classe totalment encapsulada perquè tots els membres de dades són privats aquí.

Acoblament

L'acoblament fa referència al coneixement o informació o dependència d'una altra classe. Sorgeix quan les classes són conscients les unes de les altres. Si una classe té la informació detallada d'una altra classe, hi ha un fort acoblament. A Java, utilitzem modificadors privats, protegits i públics per mostrar el nivell de visibilitat d'una classe, mètode i camp. Podeu utilitzar interfícies per a l'acoblament més feble perquè no hi ha cap implementació concreta.

Cohesió

La cohesió es refereix al nivell d'un component que realitza una única tasca ben definida. Una única tasca ben definida es realitza mitjançant un mètode altament cohesionat. El mètode poc cohesionat dividirà la tasca en parts separades. El paquet java.io és un paquet molt cohesionat perquè té classes i interfície relacionades amb E/S. Tanmateix, el paquet java.util és un paquet poc cohesionat perquè té classes i interfícies no relacionades.

Associació

L'associació representa la relació entre els objectes. Aquí, un objecte es pot associar amb un objecte o amb molts objectes. Hi pot haver quatre tipus d'associació entre els objectes:

  • Un a Un
  • Un a molts
  • Molts a Un, i
  • Molts a Molts

Entenem la relació amb exemples en temps real. Per exemple, un país pot tenir un primer ministre (un a un) i un primer ministre pot tenir molts ministres (un a molts). A més, molts diputats poden tenir un primer ministre (molts a un), i molts ministres poden tenir molts departaments (molts a molts).

cadena java cmp

L'associació pot ser no direccional o bidireccional.

Agregació

L'agregació és una manera d'aconseguir l'Associació. L'agregació representa la relació on un objecte conté altres objectes com a part del seu estat. Representa la dèbil relació entre objectes. També s'anomena a relació a Java. Com, l'herència representa el és un relació. És una altra manera de reutilitzar objectes.

Composició

La composició també és una manera d'aconseguir l'Associació. La composició representa la relació on un objecte conté altres objectes com a part del seu estat. Hi ha una forta relació entre l'objecte que conté i l'objecte dependent. És l'estat on els objectes que contenen no tenen una existència independent. Si suprimiu l'objecte principal, tots els objectes secundaris se suprimiran automàticament.


Avantatge dels POO sobre el llenguatge de programació orientat a procediments

1) Els POO facilita el desenvolupament i el manteniment, mentre que, en un llenguatge de programació orientat a procediments, no és fàcil de gestionar si el codi creix a mesura que augmenta la mida del projecte.

2) Els POO ofereixen l'amagat de dades, mentre que, en un llenguatge de programació orientat a procediments, es pot accedir a les dades globals des de qualsevol lloc.

Dades globals

Figura: Representació de dades en la programació orientada a procediments


Dades d'objecte

Figura: Representació de dades en programació orientada a objectes

3) Els POO ofereixen la capacitat de simular esdeveniments del món real de manera molt més eficaç. Podem proporcionar la solució del problema de la paraula real si utilitzem el llenguatge de programació orientada a objectes.


Quina diferència hi ha entre un llenguatge de programació orientat a objectes i un llenguatge de programació basat en objectes?

El llenguatge de programació basat en objectes segueix totes les característiques dels POO excepte l'herència. JavaScript i VBScript són exemples de llenguatges de programació basats en objectes.



Saps?
  • Podem sobrecarregar el mètode principal?
  • Un constructor Java retorna un valor, però, què?
  • Podem crear un programa sense mètode principal?
  • Quines són les sis maneres d'utilitzar aquesta paraula clau?
  • Per què no s'admet l'herència múltiple a Java?
  • Per què utilitzar l'agregació?
  • Podem anul·lar el mètode estàtic?
  • Quin és el tipus de retorn covariant?
  • Quins són els tres usos de la súper paraula clau de Java?
  • Per què utilitzar el bloc d'inicialització d'instàncies?
  • Quin és l'ús d'una variable final en blanc?
  • Què és un marcador o una interfície etiquetada?
  • Què és el polimorfisme en temps d'execució o l'enviament de mètodes dinàmics?
  • Quina diferència hi ha entre l'enquadernació estàtica i dinàmica?
  • Com és possible el descens a Java?
  • Quina és la finalitat d'un constructor privat?
  • Què és la clonació d'objectes?
Què aprendrem als conceptes de POO?
  • Avantatge dels POO
  • Convenció de nomenclatura
  • Objecte i classe
  • Sobrecàrrega del mètode
  • Constructor
  • paraula clau estàtica
  • aquesta paraula clau amb sis ús
  • Herència
  • Agregació
  • Anulació del mètode
  • Tipus de retorn covariant
  • súper paraula clau
  • Bloc d'inicialització d'instàncies
  • paraula clau final
  • Classe abstracta
  • Interfície
  • Polimorfisme en temps d'execució
  • Enquadernació estàtica i dinàmica
  • Downcasting amb instanceof operador
  • paquet
  • Modificadors d'accés
  • Encapsulació
  • Clonació d'objectes