Introducción a los objetos en C #
Como ya se sabe, C # es un lenguaje de programación orientado a objetos y se pronuncia como C Sharp. Aunque C # ha evolucionado de C ++, ambos se diferencian entre sí. Las diferencias básicas se pueden entender a través de C ++ vs C #.
El objeto es una instancia de una clase. Aquí la memoria se asigna dinámicamente para proporcionar la salida de un programa dado. Entonces, ¿cómo podemos explicar esta asignación dinámica? Trataría de explicarlo de una manera poco técnica. Los objetos se crean para acceder a diferentes funciones o variables que se definen en la clase. Por lo tanto, un objeto no sabe a qué tipo de datos accederá realmente. Entonces, después de obtener el valor de los elementos accedidos, organizaría la memoria dinámicamente.
Crear un objeto
En general, un objeto se puede crear de 2 maneras. Uno de ellos es mediante el uso del comando "nuevo". La sintaxis general para el objeto es la siguiente:
Class-name object-name = new Class-name();
Y luego, utilizando el nombre del objeto, podemos acceder a los métodos y variables respectivos que se definen dentro de la clase.
Otra forma de definir un objeto es por referencia a otro objeto. Algo así como asignar el valor.
Class-name object-name1 = new Class-name();
Class-name object-name2;
Object-name2=object-name1;
Y podemos acceder a la variable y a los métodos en la clase usando los objetos nombre-objeto1 y nombre-objeto2.
Ejemplos de objetos en C #
Aquí vamos a tener un ejemplo para cada forma de crear un objeto en C #.
A continuación hay un programa para encontrar el cuadrado de un número.
using System;
class Square
(
public int side;
public Square(int a)
(
side=a;
)
public int Sq()
(
return side*side;
)
)
class First
(
static void Main(String () args)
(
int result;
Square s= new Square(4);
result=s.Sq();
Console.WriteLine("Square of the given number is " + result);
)
)
Salida:
Entonces, en el programa anterior
- Creamos una clase Square y escribimos dos funciones dentro de la clase. Una función que también es un constructor (nombre de la función igual que para el nombre de la clase) es para ingresar el valor de un número y otra para realizar la operación real.
- En nuestra clase First, que tiene la función principal dentro de ella, hemos inicializado nuestro objeto 's' y hemos pasado el parámetro, para cuyo número realmente queremos realizar la operación cuadrada.
- Y declaramos un resultado variable; Estamos pasando la salida del objeto al que se accede el método 'Sq', que realiza la operación real.
- Finalmente sacando el resultado cuadrado en nuestra consola.
Para nuestra próxima forma de crear un objeto, el ejemplo es el siguiente:
using System;
class Square
(
public int side;
public Square(int a)
(
side=a;
)
public int Sq()
(
return side*side;
)
)
class First
(
static void Main(String () args)
(
int result1, result2;
Square s1= new Square(4);
Square s2;
s2=s1;
result1=s1.Sq();
result2=s2.Sq();
Console.WriteLine("Square of the given number is " + result1);
Console.WriteLine("Square of the given number is " + result2);
)
)
Salida:
Y a una extensión de esto, incluso podemos asignar valor a nuestra variable usando un objeto. Veamos cómo podemos hacer eso.
using System;
class Square
(
public int Side;
public Square(int side)
(
Side=side;
)
public int Sq()
(
return Side*Side;
)
)
class First
(
static void Main(String () args)
(
int result1, result2, result3;
Square s1= new Square(4);
Square s2= new Square(6);
result1=s1.Sq();
result2=s2.Sq();
s2.Side=7;
result3=s2.Sq();
Console.WriteLine("Square of the given number is " + result1);
Console.WriteLine("Square of the given number is " + result2);
Console.WriteLine("Square of the given number is " + result3);
)
)
Aquí, hemos accedido a la variable y hemos cambiado su valor de 6 a 7. Luego, la salida se imprime después de inicializar el valor en la nueva variable resultado3. La salida obtenida está abajo.
Salida:
Hasta aquí hemos creado un objeto y lo hemos referenciado a través de un único formato de texto. Ahora veamos qué sucede si requerimos una matriz de objetos para almacenar y manipular nuestros datos.
using System;
class Square
(
public int Side;
public void Sqr(int side)
(
Side=side;
)
public int Sq()
(
return Side*Side;
)
)
class First
(
static void Main(String () args)
(
int result1, result2, result3;
Square() sq = new Square(3);
sq(0)= new Square();
sq(1)= new Square();
sq(2)= new Square();
sq(0).Side=13;
sq(1).Side=85;
sq(2).Side=25;
result1=sq(0).Sq();
result2=sq(1).Sq();
result3=sq(2).Sq();
Console.WriteLine("Square of the given number is " + result1);
Console.WriteLine("Square of the given number is " + result2);
Console.WriteLine("Square of the given number is " + result3);
)
)
En el programa anterior, lo mismo que antes, hemos creado una matriz de objetos y asignado un valor a cada objeto. Luego ejecutamos nuestra segunda función para generar el cuadrado de dos números.
El resultado de lo anterior se encuentra a continuación:
Salida:
Como ejercicio, ¿puedes intentar cargar marcas de 5 estudiantes en 3 materias usando una matriz del objeto?
Conclusión
Como se vio anteriormente, hemos creado con éxito un objeto de diferentes maneras y lo hemos utilizado para asignar valores a variables y llamar a las funciones que están presentes dentro de la clase. Pero aquí, necesitamos entender y seguir algunas reglas basadas en los modificadores de acceso. Un objeto no puede acceder a variables / funciones con un modificador de acceso "privado" que pertenece a otra clase. Pero puede acceder a las mismas funciones o variables de clase aunque se declare con un modificador privado. Entonces, de esta manera hay un conjunto de reglas que se definen con respecto a las clases, variables, funciones y objetos.
Intente jugar creando objetos de diferentes maneras con diferentes modificadores de acceso y verifique las salidas para conocer el alcance de los objetos y seguir aprendiendo.
Artículos recomendados
Esta es una guía de objetos en C #. Aquí discutimos las diferentes formas de crear objetos en C # junto con ejemplos y su implementación de código. También puede consultar los siguientes artículos para obtener más información:
- Destructor en C #
- Matrices dentadas C #
- Funciones de C #
- ¿Qué es Multithreading en C #?
- Objeto en Java
- Métodos de subprocesamiento múltiple en C #