thiago@mickwd:~/proyectos/cs-net-poo$

proyectos / cs-net-poo

┌─ Programación orientada a objetos

cs-net-poo

Gestión de una flota de aviones en C# .NET: herencia, clases abstractas, interfaces, delegados y clonación profunda.

## Resumen

Segundo parcial de Programación Orientada a Objetos. La solución separa la interfaz (WinForms) de la lógica de negocio en una librería de clases (BL), con todas las clases documentadas.

## Qué muestra

  • Clase base abstracta Avion con CalcularVelocidadMaxima() obligatoria para cada subtipo.
  • Subtipos Boeing747, Avioneta, Planeador y F19 (este último sealed).
  • Flota implementa IEnumerable<Avion> para iterar sin exponer la lista interna, e ICloneable para clonación profunda.
  • Orden con IComparable<Avion> y operaciones en lote con un delegate.

## Fragmento

BL/Clases.cs
public abstract class Avion : IComparable<Avion>
{
    public abstract int CalcularVelocidadMaxima();
    public int CompareTo(Avion x) { /* ... */ }
}

public sealed class F19 : Avion { /* no se puede heredar */ }

public class Flota : IEnumerable<Avion>, ICloneable
{
    public delegate void PonerEnVuelo(bool estado);
    public object Clone() { /* clonación profunda */ }
}