Diferentes formas de crear un Objeto en C#

Un lenguaje totalmente orientado a objetos significa que todo se representa como un objeto, pero no puede diferenciar entre tipos primitivos y objetos de clases, pero C# no está puramente orientado a objetos, ya que admite muchos conceptos de programación de procedimientos, como punteros, hasta cierto punto. Un objeto es una unidad básica de la Programación Orientada a Objetos y representa las entidades de la vida real. Un programa típico de C# crea muchos objetos que, como sabe, interactúan invocando métodos. Podemos Crear objetos en C# de las siguientes maneras:
1) Usando el operador ‘nuevo’: Una clase es un tipo de referencia y en tiempo de ejecución, a cualquier objeto del tipo de referencia se le asigna un valor nulo a menos que se declare usando el nuevo operador. El operador new asigna espacio en la memoria al objeto solo durante el tiempo de ejecución, lo que significa que la asignación es dinámica.
Sintaxis: 
 

// The className() is a call
// to the constructor
className ObjectName = new className();   

Nota: El constructor puede ser un constructor predeterminado o uno definido por el usuario.
Ejemplo:
 

csharp

// C# Program to show the use
// of the new Operator
using System;
 
namespace NewOperator {
 
class Rectangle {
 
    public int length, breadth;
 
    // Parameterized Constructor
    // User defined
    public Rectangle(int l, int b)
    {
        length = l;
        breadth = b;
    }
 
    // Method to Calculate Area
    // of the rectangle
    public int Area()
    {
        return length * breadth;
    }
}
 
// Driver Class
class Program {
 
    // Main Method
    static void Main(string[] args)
    {
        // Creating an object using 'new'
        // Calling the parameterized constructor
        // With parameters 10 and 12
        Rectangle rect1 = new Rectangle(10, 12);
 
        // To display are of the Rectangle
        int area = rect1.Area();
        Console.WriteLine("The area of the"+
                   " Rectangle is " + area);
    }
}
}
Producción: 

The area of the Rectangle is 120

 

2) Creación de una referencia a un objeto existente: la referencia solo se puede declarar con el nombre de la clase y el nombre de la referencia. La referencia no puede existir de forma independiente. Tiene que ser asignado a un objeto ya existente de la misma clase. Cualquier cambio realizado en la referencia se guardará en el objeto al que se refiere. Es como un alias.
Sintaxis: 
 

className RefName;
RefName = objectName;

Ejemplo:
 

csharp

// C# Program to show the use
// of references
using System;
 
namespace Reference {
 
class Triangle {
 
    public int side, altitude;
    // Not defining a constructor
 
    // Method to calculate area
    // of the Triangle
    public double Area()
    {
        return (double)0.5 * side * altitude;
    }
}
 
// Driver Class
class Program {
 
    // Main Method
    static void Main(string[] args)
    {
        // Creating an object using new
        // calls the default constructor
        Triangle tri1 = new Triangle();
 
        // Only creates a reference of
        // type Triangle
        Triangle tri2;
 
        // Displaying area of tri1
        Console.WriteLine("Area of tri1 is "
                             + tri1.Area());
 
        // Assigns the reference to tri1
        tri2 = tri1;
 
        // Making changes in tri2
        tri2.side = 5;
        tri2.altitude = 7;
 
        // Displaying area of tri1
        // Changes made in the reference tri2
        // are reflected in tri1 also
        Console.WriteLine("Area of tri1 is "
                             + tri1.Area());
    }
}
}
Producción: 

Area of tri1 is 0
Area of tri1 is 17.5

 

3) Creación de una array de objetos: si necesita varios números de objetos de la misma clase, puede crear una array de objetos. Esto requerirá que primero declare la array y luego inicialice cada elemento {objeto en este caso}. Puede usar for loop para la inicialización.
Sintaxis: 
 

className[] arrayName = new className[size];

csharp

// C# Program to illustrate how to
// create the array of objects
using System;
 
namespace ArrayofObjects {
 
class Circle {
 
    public int radius;
 
    // Defining Constructor
    public Circle()
    {
        radius = 0;
    }
 
    // Method to set value of radius
    public void setValue(int r)
    {
        radius = r;
    }
 
    // Method to calculate the
    // area of the Circle
    public double Area()
    {
        return (double)3.14 * radius * radius;
    }
}
 
// Driver Class
class Program {
 
    // Main Method
    static void Main(string[] args)
    {
        // To declare an array of two objects
        Circle[] circleArray = new Circle[2];
 
        // Initialize the objects
        circleArray[0] = new Circle();
        circleArray[1] = new Circle();
 
        // to set values for the radius
        circleArray[0].setValue(1);
        circleArray[1].setValue(2);
 
        // for loop to display areas
        for (int i = 0; i < circleArray.Length; i++)
        {
            Console.Write("Area of circle with radius " + (i + 1));
            Console.Write(" is " + circleArray[i].Area() + "\n");
        }
    }
}
}
Producción: 

Area of circle with radius 1 is 3.14
Area of circle with radius 2 is 12.56

 

Publicación traducida automáticamente

Artículo escrito por ManasiKirloskar y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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