Objeto como un argumento en Java

objeto como un argumento es el uso para establecer la comunicación entre dos o más objetos de mismo class así como diferentes class, es decir, el usuario puede procesar fácilmente los datos de dos objetos iguales o diferentes dentro de la función.

En Java, un tipo primitivo Cuando se pasa a un método, se realiza mediante el uso de la llamada por valor. Los objetos se pasan de forma implícita mediante el uso de llamada por referencia.

Esto significa que cuando se pasa tipos de datos primitivos a método que pasarán sólo valores para los parámetros de función por lo que cualquier cambio realizado en el parámetro no afectará el valor de los parámetros reales.

mientras que los objetos en Java son variables de referencia, por lo class objetos un valor que se pasa es la referencia al objeto. De ahí que todo el objeto no se pasa, pero su referencia se pasa. Toda modificación en el objeto en el método sería modificar el objeto en el montón.

objeto que pasa como parámetro en función

class Add
{
int a;
int b;
Add(int x,int y)// parametrized constructor
{
a=x;
b=y;
}
void sum(Add A1) // object 'A1' passed as parameter in function 'sum'
{
int sum1=A1.a+A1.b;
System.out.println("Sum of a and b :"+sum1);
}
}
public class classExAdd
{
public static void main(String arg[])
{
Add A=new Add(5,8);

A.sum(A);
}
}

salida

Sum of a and b :13

Al crear una variable de tipo for, sólo creamos una referencia a un objeto.

Cuando se pasa esta referencia a una función, los parámetros que la reciben harán referencia al mismo objeto que el contemplado en el argumento.

Pasando objeto como parámetro en Constructor

Uno de los usos más comunes de objetos como parámetros implica constructores. Un constructor crea un nuevo objeto inicialmente el mismo que el objeto pasado. También se utiliza para inicializar class miembros.

class Add
{
private int a,b;
Add(Add A)
{
a=A.a;
b=A.b;
}
Add(int x,int y)
{
a=x;
b=y;
}
void sum()
{
int sum1=a+b;
System.out.println("Sum of a and b :"+sum1);
}
}
class ExAddcons
{
public static void main(String arg[])
{
Add A=new Add(15,8);
Add A1=new Add(A);
A1.sum();
}
}

salida

Sum of a and b :23

Volviendo el objeto desde Función

en Java, una función puede private cualquier tipo de datos, incluyendo los objetos de tipo return.

class ex: En el programa que figura a continuación, la add () función For un objeto que contiene suma de los valores de dos números diferentes (objetos).

import java.util.Scanner;
class TwoNum
{
private int a,b;
Scanner kb=new Scanner(System.in);
void getValues() // getValues() take values of a,b for every no.
{
System.out.print("Enter a: ");
a=kb.nextInt();
System.out.print("Enter b: ");
b=kb.nextInt();
}
void putValues()// putValues() show values for every no.
{
System.out.println(a+" "+b);
}
TwoNum add(TwoNum B)
{
TwoNum D=new TwoNum();//object D act as instance variable
D.a=a+B.a;
D.b=b+B.b;
return (D);//returning object D
}
}
class ExTwoNum
{
public static void main(String arg[])
{
TwoNum A=new TwoNum();
A.getValues();
A.putValues();
TwoNum B=new TwoNum();
B.getValues();
B.putValues();
TwoNum C;

C=A.add(B);
C.putValues();
}
}

salida

Enter a: 23
Enter b: 34
23 34
Enter a: 25
Enter b: 35
25 35
48 69


Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *