28 abril, 2025

Todo Programación

Cursos, código fuente y ejemplos.

Turbo Pascal 7 – Capítulo 07 – Programación orientada a objetos

Turbo Pascal 7, Capítulo 07, Programación orientada a objetos

La Programación Orientada a Objetos (POO) es un paradigma que organiza el código en torno a objetos y sus interacciones. Turbo Pascal 7, aunque es un lenguaje principalmente procedural, permite implementar conceptos básicos de POO, lo que mejora la modularidad y reutilización del código.

Conceptos Fundamentales de la POO

  • Clase: Un plano o plantilla que define la estructura y el comportamiento de un objeto.
  • Objeto: Una instancia concreta de una clase, que puede tener sus propias propiedades y métodos.
  • Encapsulación: Oculta los detalles internos de una clase, exponiendo solo lo necesario para su uso.
  • Herencia: Permite crear nuevas clases basadas en clases existentes, heredando sus atributos y comportamientos.
  • Polimorfismo: Capacidad de distintos objetos de responder a un mismo método de manera específica.

Clases y Objetos en Turbo Pascal 7

Aunque Turbo Pascal 7 no es un lenguaje orientado a objetos puro, puede simular algunos aspectos. Ejemplo de declaración de clase y creación de objeto:

type
  TPersona = class
  private
    nombre: string;
    edad: Integer;
  public
    constructor Crear(n: string; e: Integer);
    procedure MostrarInfo;
  end;

constructor TPersona.Crear(n: string; e: Integer);
begin
  nombre := n;
  edad := e;
end;

procedure TPersona.MostrarInfo;
begin
  writeln('Nombre: ', nombre);
  writeln('Edad: ', edad);
end;

var
  persona1: TPersona;

begin
  persona1 := TPersona.Crear('Juan', 25);
  persona1.MostrarInfo;
end.

Encapsulación, Herencia y Polimorfismo

Encapsulación:

En Turbo Pascal 7, la encapsulación se logra mediante las secciones private y public. Los miembros privados son inaccesibles desde fuera de la clase.

Herencia:

Puedes lograr la herencia de propiedades y métodos a través de tipos de datos estructurados. Por ejemplo, puedes usar registros como «clases base» y agregar más atributos en «clases derivadas».

Polimorfismo:

No se logra de manera tan fluida como en lenguajes de programación modernos, pero puedes simularlo con el uso de tipos de datos genéricos y procedimientos que trabajan con esos tipos.

Ejercicios Resueltos

Ejercicio 1: Creación de una Clase

Crea una clase Rectangulo que tenga atributos para la base y altura, y métodos para calcular el área y el perímetro.

type
  TRectangulo = record
    base, altura: Real;
  end;

function CalcularArea(rect: TRectangulo): Real;
begin
  CalcularArea := rect.base * rect.altura;
end;

function CalcularPerimetro(rect: TRectangulo): Real;
begin
  CalcularPerimetro := 2 * (rect.base + rect.altura);
end;

var
  miRectangulo: TRectangulo;

begin
  miRectangulo.base := 5;
  miRectangulo.altura := 3;

  writeln('Área del rectángulo: ', CalcularArea(miRectangulo));
  writeln('Perímetro del rectángulo: ', CalcularPerimetro(miRectangulo));
end.

Ejercicio 2: Herencia y Polimorfismo

Crea una «clase base» llamada Vehiculo con atributos básicos, y dos «clases derivadas» Auto y Camion con atributos específicos.

type
  TVehiculo = record
    marca, modelo: string;
    ano: Integer;
  end;

type
  TAuto = record
    vehiculo: TVehiculo;
    pasajeros: Integer;
  end;

type
  TCamion = record
    vehiculo: TVehiculo;
    capacidadCarga: Real;
  end;

var
  miAuto: TAuto;
  miCamion: TCamion;

begin
  miAuto.vehiculo.marca := 'Toyota';
  miAuto.vehiculo.modelo := 'Corolla';
  miAuto.vehiculo.ano := 2020;
  miAuto.pasajeros := 5;

  miCamion.vehiculo.marca := 'Ford';
  miCamion.vehiculo.modelo := 'F-150';
  miCamion.vehiculo.ano := 2018;
  miCamion.capacidadCarga := 1500;

  writeln('Auto - Marca: ', miAuto.vehiculo.marca);
  writeln('Camión - Capacidad de carga: ', miCamion.capacidadCarga);
end.

Conclusiones

Aunque Turbo Pascal 7 no es un lenguaje de programación orientado a objetos completo, es posible aplicar conceptos básicos de POO a través de registros y procedimientos. Los ejercicios resueltos en este capítulo demuestran cómo crear clases, implementar herencia y simular polimorfismo en este entorno. A medida que te familiarices con estos conceptos, podrás crear programas más estructurados y reutilizables, aprovechando los beneficios de la Programación Orientada a Objetos.


Copyright © Todos los derechos reservados. | Newsphere por AF themes.