Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial programming >> Lenguaje C

Clases y objetos en C#: Fundamentos para POO robusta

Clases y objetos en C#: Fundamentos para POO robusta

En este tutorial, aprenderás sobre el concepto de clases y objetos en C# con la ayuda de ejemplos.

C# es un lenguaje orientado a objetos que estructura aplicaciones alrededor de objetos. En POO, resolvemos problemas complejos dividiéndolos en objetos reutilizables y autocontenidos.

Para trabajar con objetos, necesitamos realizar las siguientes actividades:


Clase en C#

Una clase es el plano para un objeto. Piensa en ella como el plano de una casa: define habitaciones, puertas, ventanas y reglas estructurales. Una casa real construida a partir de ese plano es un objeto.

Múltiples casas pueden compartir el mismo plano, al igual que muchos objetos pueden crearse a partir de la misma clase.

Crear una clase en C#

class ClassName { }

Aquí hemos definido una clase llamada ClassName. Una clase puede contener

Ejemplo:

class Dog {
    // Campo
    string breed;
    // Método
    public void Bark() {
        // Implementación
    }
}

En el ejemplo anterior:

Nota: En C#, los miembros de una clase incluyen tanto campos como métodos.


Objetos en C#

Un objeto es una instancia de una clase. Por ejemplo, la clase Dog puede producir objetos como Bulldog, Pastor Alemán o Pug.

Creando un objeto de una clase

ClassName obj = new ClassName();

Aquí new crea un objeto; obj es su nombre. Por ejemplo:

Dog bullDog = new Dog();

El objeto bullDog ahora puede acceder a los campos y métodos definidos en Dog.


Accediendo a miembros de clase usando un objeto

Accede a los miembros con el operador punto (.) :

using System;
namespace ClassObject {
    class Dog {
        string breed;
        public void Bark() {
            Console.WriteLine("Bark Bark !!");
        }
        static void Main(string[] args) {
            // crea objeto Dog
            Dog bullDog = new Dog();
            // establece raza
            bullDog.breed = "Bull Dog";
            Console.WriteLine(bullDog.breed);
            // invoca método
            bullDog.Bark();
            Console.ReadLine();
        }
    }
}

Salida

Bull Dog Bark Bark !!

Observa el uso de bullDog y el operador punto para acceder a breed y Bark().


Creando múltiples objetos de una clase

Instancia varios objetos de la misma clase, cada uno con sus propios datos:

using System;
namespace ClassObject {
    class Employee {
        string department;
        static void Main(string[] args) {
            // primer empleado
            Employee sheeran = new Employee();
            sheeran.department = "Development";
            Console.WriteLine("Sheeran: " + sheeran.department);
            // segundo empleado
            Employee taylor = new Employee();
            taylor.department = "Content Writing";
            Console.WriteLine("Taylor: " + taylor.department);
            Console.ReadLine();
        }
    }
}

Salida

Sheeran: Development
Taylor: Content Writing

Cada objeto mantiene su propio valor department.


Creando objetos en una clase diferente

Los objetos pueden crearse en otras clases. Por ejemplo:

using System;
namespace ClassObject {
    class Employee {
        public string name;
        public void Work(string work) {
            Console.WriteLine("Work: " + work);
        }
    }
    class EmployeeDrive {
        static void Main(string[] args) {
            // crea objeto Employee
            Employee e1 = new Employee();
            Console.WriteLine("Employee 1");
            // establece nombre
            e1.name = "Gloria";
            Console.WriteLine("Name: " + e1.name);
            // llama método
            e1.Work("Coding");
            Console.ReadLine();
        }
    }
}

Salida

Employee 1
Name: Gloria
Work: Coding

Aquí EmployeeDrive crea un objeto Employee. Los miembros públicos permiten acceso entre clases. Aprende más sobre modificadores de acceso en la documentación oficial.


¿Por qué objetos y clases?

Las clases y objetos permiten diseño modular. Para un juego con muchos enemigos, una sola clase Enemy puede definir health, ammo, Shoot() y Run(). Cada instancia de enemigo mantiene su propio estado mientras comparte comportamiento.

Al modelar código alrededor de objetos, reducimos complejidad, mejoramos mantenibilidad y promovemos reutilización.

Lenguaje C

  1. Dominando clases y métodos abstractos en C#: Guía práctica
  2. Entendiendo clases y métodos parciales en C#
  3. Dominando clases y métodos sealed en C#: Cuándo usarlos, ejemplos claros y mejora de seguridad y rendimiento
  4. Clases y Objetos en C++: Guía Práctica de Programación Orientada a Objetos
  5. Funciones y clases amigas en C++: dominando el control de acceso
  6. Dominando la Programación Orientada a Objetos en Python: Clases, Herencia, Encapsulación y Polimorfismo
  7. Clases y Objetos en Java: Guía Práctica
  8. Clases y métodos abstractos en Java: Guía completa
  9. Dominando clases anidadas e internas en Java: Tipos, ejemplos y mejores prácticas
  10. Patrón Singleton en Java explicado: Cómo implementarlo y usarlo de forma segura
  11. Dominando la Reflexión en Java: Inspeccionando clases, métodos y campos en tiempo de ejecución