0% encontró este documento útil (0 votos)
36 vistas5 páginas

Asignacion 3

El documento presenta conceptos fundamentales de programación en C#, incluyendo encapsulación, herencia y sobreescritura de métodos. Se explican estos principios con ejemplos de código que ilustran cómo se implementan en la práctica. Además, se destacan las características específicas de C#, como la restricción de herencia múltiple.

Cargado por

charles
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
36 vistas5 páginas

Asignacion 3

El documento presenta conceptos fundamentales de programación en C#, incluyendo encapsulación, herencia y sobreescritura de métodos. Se explican estos principios con ejemplos de código que ilustran cómo se implementan en la práctica. Además, se destacan las características específicas de C#, como la restricción de herencia múltiple.

Cargado por

charles
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Presentación

Nombre:
Carlos Alfredo Morel De León

Matricula:
2023-1869

Profesor:
Luis soto Mirambeaux

Materia:
Programación I

Tema:
Asignacion 3

Fecha:
23/03/2025
Encapsulación en C#
La encapsulación es el principio de ocultar los detalles internos de un objeto y permitir el
acceso solo a través de métodos públicos (getters y setters). Esto ayuda a proteger los
datos y mantener el código modular.

Ejemplo de encapsulación en C#
csharp
CopyEdit
using System;

class Persona
{
// Atributos privados
private string nombre;
private int edad;

// Constructor
public Persona(string nombre, int edad)
{
this.nombre = nombre;
this.edad = edad;
}

// Métodos Get y Set


public string GetNombre() => nombre;
public void SetNombre(string nuevoNombre) => nombre = nuevoNombre;

public int GetEdad() => edad;


public void SetEdad(int nuevaEdad)
{
if (nuevaEdad > 0)
edad = nuevaEdad;
}

public void MostrarInformacion()


{
Console.WriteLine($"Nombre: {nombre}, Edad: {edad}");
}
}

// Programa principal
class Program
{
static void Main()
{
Persona persona1 = new Persona("Carlos", 30);
persona1.MostrarInformacion();

// Cambiando valores con los setters


persona1.SetNombre("Ana");
persona1.SetEdad(25);
persona1.MostrarInformacion();
}
}

📌 Explicación

 Los atributos nombre y edad son privados (private).


 Se accede a los datos mediante métodos get y set.
 Se usa this para referenciar los atributos de la clase.
 El método SetEdad verifica que la edad sea mayor a 0 antes de asignarla.

🔹 Herencia en C#
La herencia permite que una clase herede propiedades y métodos de otra. Esto fomenta
la reutilización del código y la organización jerárquica de las clases.

✅ Ejemplo de herencia en C#
csharp
CopyEdit
using System;

class Animal
{
public string Nombre { get; set; }

public void HacerSonido()


{
Console.WriteLine("El animal hace un sonido.");
}
}

// Clase derivada que hereda de Animal


class Perro : Animal
{
public void Ladrar()
{
Console.WriteLine($"{Nombre} está ladrando: ¡Guau guau!");
}
}

// Programa principal
class Program
{
static void Main()
{
Perro miPerro = new Perro();
miPerro.Nombre = "Rocky";
miPerro.HacerSonido(); // Heredado de Animal
miPerro.Ladrar(); // Método propio de Perro
}
}

📌 Explicación

 Perro hereda de Animal usando class Perro : Animal.


 La clase Perro obtiene el atributo Nombre y el método HacerSonido() de Animal.
 Perro también tiene su propio método Ladrar().

🛑 Nota: C# no soporta herencia múltiple (una clase no puede heredar de más de una
clase).

🔹 Sobreescritura de Métodos en C#
La sobreescritura (override) permite a una clase derivada modificar el comportamiento de
un método definido en la clase base.

✅ Ejemplo de sobreescritura en C#
csharp
CopyEdit
using System;

class Animal
{
public virtual void HacerSonido()
{
Console.WriteLine("El animal hace un sonido genérico.");
}
}

class Perro : Animal


{
public override void HacerSonido()
{
Console.WriteLine("El perro ladra: ¡Guau guau!");
}
}

// Programa principal
class Program
{
static void Main()
{
Animal miAnimal = new Animal();
miAnimal.HacerSonido();

Perro miPerro = new Perro();


miPerro.HacerSonido(); // Se ejecuta el método sobrescrito
}
}

📌 Explicación

 En la clase Animal, HacerSonido() se marca con virtual, lo que significa que puede ser
sobrescrito.
 En Perro, se usa override para modificar HacerSonido().
 Al llamar miPerro.HacerSonido(), se ejecuta la versión modificada en lugar de la de
Animal.

También podría gustarte