Diferència entre sobrecàrrega i anul·lació a Java

Taula de continguts:

Diferència entre sobrecàrrega i anul·lació a Java
Diferència entre sobrecàrrega i anul·lació a Java

Vídeo: Diferència entre sobrecàrrega i anul·lació a Java

Vídeo: Diferència entre sobrecàrrega i anul·lació a Java
Vídeo: Основные ошибки при возведении перегородок из газобетона #5 2024, De novembre
Anonim

Diferència clau: sobrecàrrega i anul·lació a Java

La programació orientada a objectes (OOP) és un paradigma important en el desenvolupament de programari. És una metodologia per dissenyar un programa utilitzant classes i objectes. Una classe és un projecte. Descriu el que ha de contenir l'objecte. Defineix les propietats o els atributs i els mètodes que ha de consistir l'objecte. Per tant, un objecte és una instància d'una classe. Aquests objectes es comuniquen amb altres objectes. Un concepte principal de POO és el polimorfisme. És la capacitat que té un objecte de comportar-se de múltiples maneres. El polimorfisme es classifica en dues seccions que són sobrecàrrega i anul·lació. Aquest article analitza la diferència entre aquests dos a Java. La diferència clau entre la sobrecàrrega i l'anul·lació a Java és que la sobrecàrrega és la capacitat de crear diversos mètodes del mateix nom amb diferents implementacions i la substitució és proporcionar una implementació per a un mètode de subclasse que ja existeix a la superclasse.

Què és la sobrecàrrega a Java?

La sobrecàrrega és la capacitat de crear diversos mètodes del mateix nom amb diferents implementacions. Consulteu el codi Java següent.

Diferència entre sobrecàrrega i anul·lació a Java
Diferència entre sobrecàrrega i anul·lació a Java
Diferència entre sobrecàrrega i anul·lació a Java
Diferència entre sobrecàrrega i anul·lació a Java

Figura 01: programa Java que explica la sobrecàrrega amb un nombre diferent d'arguments

Segons el programa anterior, la classe A conté dos mètodes amb el mateix nom. El primer mètode de suma té dos paràmetres. El segon mètode de suma té tres paràmetres. Quan es crea un objecte de tipus A i es crida a sum(2, 3), cridarà al mètode sum amb dos paràmetres que són sum(int a, int b) i retorna 5. Quan es crea un objecte de tipus A i es crida a sum(2)., 3, 4), cridarà a l' altre mètode de suma amb tres paràmetres que és la suma (int a, int b, int c) i retorna 9.

El nom del mètode és el mateix però el nombre de paràmetres és diferent. Es pot observar que un mateix objecte es comporta de manera diferent. Aquest concepte es coneix com a sobrecàrrega. També es coneix com a vinculació estàtica o polimorfisme temporal de compilació.

També es pot sobrecarregar amb diferents tipus de dades. Consulteu el codi Java següent.

Diferència entre sobrecàrrega i anul·lació a Java_Figura 02
Diferència entre sobrecàrrega i anul·lació a Java_Figura 02
Diferència entre sobrecàrrega i anul·lació a Java_Figura 02
Diferència entre sobrecàrrega i anul·lació a Java_Figura 02

Figura 02: programa Java que explica la sobrecàrrega amb un nombre diferent d'arguments

Segons el programa anterior, la classe A consta de dos mètodes amb el mateix nom. El mètode sum(int a, int b) rep dos valors enters. La suma (doble a doble b) rep dos valors dobles. Quan es crea l'objecte de tipus A i es crida a sum(2, 3), cridarà a sum(int a, int b) i retornarà el valor 5. Quan es crida a sum(3.4, 5.6), cridarà a sum(double a double). b) i retorna el valor 9,0. En aquest exemple, els mètodes tenen el mateix nom, però un tipus diferent de variables. Això també està sobrecarregant.

Què és l'anul·lació a Java?

A Java, és possible crear subclasses amb classes ja existents. En lloc de crear la nova classe des del principi, és possible utilitzar les propietats i mètodes de la classe ja existent. La classe existent és la superclasse i la classe derivada és la subclasse. Quan la subclasse proporciona una implementació per a un mètode, que ja es troba a la superclasse, es coneix com a anul·lació. Consulteu el programa Java següent.

Diferència clau entre sobrecàrrega i anul·lació a Java
Diferència clau entre sobrecàrrega i anul·lació a Java
Diferència clau entre sobrecàrrega i anul·lació a Java
Diferència clau entre sobrecàrrega i anul·lació a Java

Figura 03: programa Java per anul·lar

Segons el programa anterior, la classe A té un mètode de visualització (). La classe B s'estén des de la classe A, de manera que les propietats i mètodes de la classe A són accessibles per la classe B. La classe B té un mètode display() amb una implementació específica. Quan es crea un objecte de tipus A i es crida al mètode de visualització, donarà la sortida B. Tot i que la classe A té un mètode de visualització, se substitueix pel mètode de visualització de la classe B. La subclasse està implementant un mètode que ja existeix a la superclasse.

Aquest concepte és un tipus de polimorfisme i es coneix com a anul·lació. També s'anomena Late Binding, Dynamic Binding, Runtime Polymorphism.

Quines similituds hi ha entre la sobrecàrrega i la substitució a Java?

  • Tots dos són tipus de polimorfisme.
  • En sobrecàrrega i anul·lació, els mètodes tenen el mateix nom.

Quina diferència hi ha entre sobrecàrrega i anul·lació a Java?

Sobrecàrrega versus anul·lació a Java

La sobrecàrrega a Java és la possibilitat de crear diversos mètodes del mateix nom amb diferents implementacions. La substitució a Java proporciona una implementació específica al mètode de subclasse per a un mètode que ja existeix a la superclasse.
Paràmetres
En sobrecàrrega, els mètodes tenen el mateix nom però un nombre diferent de paràmetres o un tipus diferent de paràmetres. En substitució, els mètodes tenen el mateix nom i els paràmetres han de ser els mateixos.
Temes
La sobrecàrrega es produeix a la classe. La substitució es produeix a les dues classes que tenen una relació d'herència.
Sinònims
La sobrecàrrega s'anomena polimorfisme de temps compilat. La substitució s'anomena polimorfisme en temps d'execució.

Resum: sobrecàrrega vs anul·lació a Java

El polimorfisme és un concepte important en la programació orientada a objectes. Proporciona la capacitat per a un objecte de comportar-se de múltiples maneres. Això pot ser de sobrecàrrega o anul·lació. La sobrecàrrega és el polimorfisme en temps de compilació, i la substitució és el polimorfisme en temps d'execució. Són útils en el desenvolupament d'aplicacions de programari. La diferència entre l'anul·lació i la sobrecàrrega és que la sobrecàrrega és la capacitat de crear diversos mètodes del mateix nom amb diferents implementacions i l'anul·lació proporciona una implementació específica en el mètode de subclasse per a un mètode que ja existeix a la superclasse. És possible implementar tant la sobrecàrrega com la substitució a Java.

Baixeu la sobrecàrrega de PDF vs la substitució a Java

Podeu baixar la versió PDF d'aquest article i utilitzar-la per a finalitats fora de línia segons la nota de citació. Si us plau, descarregueu la versió PDF aquí Diferència entre sobrecàrrega i anul·lació a Java

Recomanat: