logo

Concepte de programació orientada a objectes (POO) en Java

Com el seu nom indica, el concepte de programació orientada a objectes o Java OOP es refereix als llenguatges que utilitzen objectes en la programació, utilitzen objectes com a font primària per implementar el que ha de passar al codi. Els objectes els veu l'espectador o l'usuari, realitzant les tasques que assigneu.

La programació orientada a objectes pretén implementar entitats del món real com l'herència, l'amagat, el polimorfisme, etc. En programació. L'objectiu principal de la POO és unir les dades i les funcions que hi operen perquè cap altra part del codi pugui accedir a aquestes dades excepte aquesta funció.



Parlem dels requisits previs polint els conceptes de declaració de mètodes i transmissió de missatges. Començant amb la declaració del mètode, consta de sis components:

  • Modificador d'accés : Defineix el tipus d'accés del mètode, és a dir, des d'on es pot accedir a la vostra aplicació. A Java, hi ha 4 tipus d'especificadors d'accés:
    • públic: Accessible a totes les classes de la vostra aplicació.
    • protegit: Accessible dins del paquet en què es defineix i en el seu subclasses (incloses les subclasses declarades fora del paquet) .
    • privat: Accessible només dins de la classe en què està definit.
    • per defecte (declarat/definit sense utilitzar cap modificador): Accessible dins de la mateixa classe i paquet dins del qual es defineix la seva classe.
  • El tipus de retorn : el tipus de dades del valor retornat pel mètode o void si no retorna un valor.
  • Nom del mètode : Les regles dels noms de camp també s'apliquen als noms dels mètodes, però la convenció és una mica diferent.
  • Llista de paràmetres : llista separat per comes dels paràmetres d'entrada que es defineixen, precedits pel seu tipus de dades, dins dels parèntesis adjuntats. Si no hi ha paràmetres, heu d'utilitzar parèntesis buits ().
  • Llista d'excepcions : les excepcions que espereu que llance el mètode. Podeu especificar aquestes excepcions.
  • Cos del mètode : és el bloc de codi, tancat entre claus, que cal executar per realitzar les operacions previstes.

Missatge passant : Els objectes es comuniquen entre ells enviant-se i rebent informació entre ells. Un missatge per a un objecte és una sol·licitud d'execució d'un procediment i, per tant, invocarà una funció a l'objecte receptor que genera els resultats desitjats. La transmissió de missatges implica especificar el nom de l'objecte, el nom de la funció i la informació a enviar.

Màster OOP en Java Escriu codi Java més net, més modular i reutilitzable construint una base en programació orientada a objectes amb el curs interactiu d'Educative Aprèn Programació orientada a objectes en Java . Registra't a Educative.io amb el codi GEIKS10 per estalviar un 10% en la teva subscripció.

Ara que hem cobert els requisits bàsics, passarem als 4 pilars dels POO que són els següents. Però, comencem per conèixer les diferents característiques d'un llenguatge de programació orientat a objectes.

Els conceptes OOPS són els següents:

  1. Classe
  2. Objecte
  3. Mètode i pas del mètode
  4. Pilars dels POO
    • Abstracció
    • Encapsulació
    • Herència
    • Polimorfisme
      • Polimorfisme en temps de compilació
      • Polimorfisme en temps d'execució

com trobar la mida del monitor

A classe és un plànol o prototip definit per l'usuari a partir del qual es creen objectes. Representa el conjunt de propietats o mètodes que són comuns a tots els objectes d'un mateix tipus. Amb classes, podeu crear diversos objectes amb el mateix comportament en lloc d'escriure el seu codi diverses vegades. Això inclou classes per als objectes que apareixen més d'una vegada al codi. En general, les declaracions de classe poden incloure aquests components per ordre:

  1. Modificadors : Una classe pot ser pública o tenir accés predeterminat (consulteu això per als detalls).
  2. Nom de la classe: El nom de la classe ha de començar amb la lletra inicial en majúscula per convenció.
  3. Superclasse (si n'hi ha): El nom del pare de la classe (superclasse), si n'hi ha, precedit de la paraula clau extends. Una classe només pot ampliar (subclasse) un pare.
  4. Interfícies (si n'hi ha): Una llista separada per comes d'interfícies implementades per la classe, si n'hi ha, precedida de la paraula clau implements. Una classe pot implementar més d'una interfície.
  5. Cos: El cos de la classe està envoltat de claus, { }.

Un objecte és una unitat bàsica de la Programació Orientada a Objectes que representa entitats de la vida real. Un programa típic de Java crea molts objectes que, com sabeu, interactuen invocant mètodes. Els objectes són els que realitzen el vostre codi, són la part del vostre codi visible per al visor/usuari. Un objecte consisteix principalment en:

  1. Estat : Es representa pels atributs d'un objecte. També reflecteix les propietats d'un objecte.
  2. Comportament : Es representa amb els mètodes d'un objecte. També reflecteix la resposta d'un objecte a altres objectes.
  3. Identitat : És un nom únic donat a un objecte que li permet interactuar amb altres objectes.
  4. Mètode : Un mètode és una col·lecció d'instruccions que realitzen alguna tasca específica i retornen el resultat a la persona que truca. Un mètode pot realitzar alguna tasca específica sense retornar res. Els mètodes ens ho permeten reutilitzar el codi sense tornar-lo a escriure, per això es consideren estalviadors de temps . A Java, cada mètode ha de formar part d'alguna classe, que és diferent dels llenguatges com C , C++ , i Python .

classe i objectes un programa java senzill:

Java
public class GFG {    static String Employee_name;  static float Employee_salary;  static void set(String n, float p) {  Employee_name = n;  Employee_salary = p;  }  static void get() {  System.out.println('Employee name is: ' +Employee_name );  System.out.println('Employee CTC is: ' + Employee_salary);  }  public static void main(String args[]) {  GFG.set('Rathod Avinash', 10000.0f);  GFG.get();  } }>

Sortida
Employee name is: Rathod Avinash Employee CTC is: 10000.0>

Parlem ara dels 4 pilars dels POO:

Pilar 1: Abstracció

Dades Abstracció és la propietat en virtut de la qual només es mostren a l'usuari els detalls essencials. Les unitats trivials o no essencials no es mostren a l'usuari. Ex: un cotxe es veu com un cotxe en lloc dels seus components individuals.
L'abstracció de dades també es pot definir com el procés d'identificar només les característiques requerides d'un objecte, ignorant els detalls irrellevants. Les propietats i comportaments d'un objecte el diferencien d'altres objectes de tipus similar i també ajuden a classificar/agrupar l'objecte.

Considereu un exemple de la vida real d'un home que condueix un cotxe. L'home només sap que prémer els acceleradors augmentarà la velocitat del cotxe o aplicar els frens l'aturarà, però no sap com en prémer l'accelerador, la velocitat augmenta. No sap el mecanisme interior del cotxe ni la implementació dels acceleradors, frens, etc. al cotxe. Això és el que és l'abstracció.

A Java, l'abstracció s'aconsegueix mitjançant interfícies i classes abstractes . Podem aconseguir el 100% d'abstracció mitjançant interfícies.

El mètode abstracte només conté la declaració del mètode però no la implementació.

Demostració de la classe abstracta

Java
//abstract class abstract class GFG{  //abstract methods declaration  abstract void add();  abstract void mul();  abstract void div(); }>

Pilar 2: Encapsulació

Es defineix com l'embolcall de dades en una sola unitat. És el mecanisme que uneix el codi i les dades que manipula. Una altra manera de pensar en l'encapsulació és que es tracta d'un escut protector que impedeix que el codi accedeixi a les dades fora d'aquest escut.

  • Tècnicament, en encapsulació , les variables o les dades d'una classe s'amaguen a qualsevol altra classe i només es pot accedir a través de qualsevol funció membre de la classe en la qual es declaren.
  • En l'encapsulació, les dades d'una classe s'oculten d'altres classes, cosa que és similar a què ocultació de dades fa. Per tant, els termes encapsulació i ocultació de dades s'utilitzen indistintament.
  • L'encapsulació es pot aconseguir declarant totes les variables d'una classe com a privades i escrivint mètodes públics a la classe per establir i obtenir els valors de les variables.

Demostració d'encapsulació:

Java
//Encapsulation using private modifier  //Employee class contains private data called employee id and employee name class Employee {  private int empid;  private String ename; }>

Pilar 3: Herència

Herència és un pilar important de la POO (Programació Orientada a Objectes). És el mecanisme de Java pel qual una classe pot heretar les característiques (camps i mètodes) d'una altra classe. Estem aconseguint l'herència mitjançant l'ús s'estén paraula clau. L'herència també es coneix com és un relació.

Parlem d'algunes terminologies importants d'ús freqüent:

  • Superclasse: La classe les característiques de la qual s'hereten es coneix com a superclasse (també coneguda com a classe base o pare).
  • Subclasse: La classe que hereta l'altra classe es coneix com a subclasse (també coneguda com a classe derivada o estesa o filla). La subclasse pot afegir els seus propis camps i mètodes a més dels camps i mètodes de la superclasse.
  • Reutilitzabilitat: L'herència admet el concepte de reutilitzabilitat, és a dir, quan volem crear una nova classe i ja hi ha una classe que inclou part del codi que volem, podem derivar la nostra nova classe de la classe existent. En fer això, estem reutilitzant els camps i mètodes de la classe existent.

Demostració d'herència:

Java
//base class or parent class or super class class A{  //parent class methods  void method1(){}  void method2(){} } //derived class or child class or base class class B extends A{ //Inherits parent class methods  //child class methods  void method3(){}  void method4(){} }>

Pilar 4: Polimorfisme

Es refereix a la capacitat dels llenguatges de programació orientats a objectes per diferenciar entre entitats amb el mateix nom de manera eficient. Això ho fa Java amb l'ajuda de la signatura i declaració d'aquestes entitats. S'anomena la capacitat d'aparèixer en moltes formes polimorfisme .

Per exemple.

Java
sleep(1000) //millis sleep(1000,2000) //millis,nanos>

Nota: El polimorfisme a Java és principalment de 2 tipus:

  1. Sobrecàrrega
  2. Anul·lació

Exemple

Java
// Java program to Demonstrate Polymorphism // This class will contain // 3 methods with same name, // yet the program will // compile & run successfully public class Sum {  // Overloaded sum().  // This sum takes two int parameters  public int sum(int x, int y)  {  return (x + y);  }  // Overloaded sum().  // This sum takes three int parameters  public int sum(int x, int y, int z)  {  return (x + y + z);  }  // Overloaded sum().  // This sum takes two double parameters  public double sum(double x, double y)  {  return (x + y);  }  // Driver code  public static void main(String args[])  {  Sum s = new Sum();  System.out.println(s.sum(10, 20));  System.out.println(s.sum(10, 20, 30));  System.out.println(s.sum(10.5, 20.5));  } }>

Sortida
30 60 31.0>

Conclusió

El concepte de programació orientada a objectes (POO) a Java és una manera potent d'organitzar i escriure codi. Utilitza idees clau com classes, objectes, herència, polimorfisme, encapsulació i abstracció per crear codi flexible i reutilitzable. Mitjançant l'ús del concepte Java OOP, els programadors poden crear aplicacions complexes de manera més eficient, fent que el codi sigui més fàcil de gestionar, entendre i modificar. En general, els conceptes OOP de Java ajuden a crear solucions de programari robustes i escalables.

Concepte de programació orientada a objectes (POO) en Java - PMF

Què és el concepte OOPs a Java?

Les POO (Programació Orientada a Objectes) és un paradigma de programació basat en el concepte d'objectes, que pot contenir dades en forma de camps (atributs o propietats) i codi en forma de procediments (mètodes o funcions). A Java, els conceptes OOP inclouen encapsulació, herència, polimorfisme i abstracció.

Per què són importants els POO a Java?

OOP ajuda a organitzar i estructurar el codi d'una manera més manejable, facilitant el manteniment i l'escala d'aplicacions Java. També promou la reutilització del codi, la modularitat i la flexibilitat, donant lloc a un desenvolupament de programari eficient i robust.

Quins són els principis principals dels POO a Java?

Els principis principals dels POO a Java són l'encapsulació, l'herència, el polimorfisme i l'abstracció. L'encapsulació garanteix que l'estat intern d'un objecte està ocult i només es pot accedir mitjançant mètodes públics. L'herència permet que una classe hereti propietats i comportament d'una altra. El polimorfisme permet que els objectes siguin tractats com a instàncies de la seva classe pare. L'abstracció se centra a ocultar els detalls de la implementació i mostrar només la informació necessària al món exterior.

Com s'implementen els OOP a Java?

A Java, els POO s'implementa mitjançant classes i objectes. Una classe serveix com a model per crear objectes, que són instàncies d'aquesta classe. Cada objecte té el seu propi conjunt d'atributs (variables) i mètodes (funcions). Seguint conceptes OOP com l'encapsulació, l'herència, el polimorfisme i l'abstracció, els desenvolupadors de Java poden dissenyar codi ben estructurat i que es pugui mantenir.

Quins són els avantatges d'utilitzar POO a Java?

Alguns dels avantatges d'utilitzar POO a Java inclouen la reutilització del codi, la modularitat, la flexibilitat, l'escalabilitat i el manteniment més fàcil. Els OOP permeten als desenvolupadors modelar entitats del món real com a objectes, donant lloc a un codi més intuïtiu i organitzat. També admet funcions com l'herència i el polimorfisme, que milloren l'extensibilitat i la llegibilitat de les aplicacions Java.

Pots proporcionar un exemple d'implementació del concepte OOP a Java?

Segur! Un exemple d'implementació del concepte OOP a Java és la creació d'una classe 'Car' amb atributs com 'make', 'model' i 'year', juntament amb mètodes com 'start()', 'accelerate()' i 'stop'. ()'. Mitjançant la instanciació d'objectes de la classe 'Car' i cridant als seus mètodes, podem simular el comportament de diferents instàncies de cotxes d'una manera estructurada i orientada a objectes.