Configuración del proyecto
Parte de la sección Programación Orientada a Objetos del Journey de C de Coddy. Lección 22 de 61.
Desafío
Fácil¡Comencemos a construir tu biblioteca de cuentas bancarias! En este primer paso, crearás la interfaz pública: el archivo de encabezado que define qué operaciones existen sin revelar ningún detalle de implementación.
Crearás dos archivos para establecer los cimientos del proyecto:
account.h: Tu archivo de encabezado público. Esto es lo que incluirán los usuarios de tu biblioteca. Declara un tipo opacoAccountmediante una declaración de tipo incompleto: ningún cuerpo de estructura, solo una declaración anticipada que indique al compilador que el tipo existe. Después, declara los prototipos de las funciones paracreate_account(recibe un entero para el ID de la cuenta y devuelve un puntero a Account) ydestroy_account(recibe un puntero a Account y no devuelve nada). No olvides las guardas de inclusión usando el símboloACCOUNT_H.main.c: Un archivo de prueba sencillo para verificar que tu encabezado se compila correctamente. Incluye tu encabezado e imprime un mensaje que confirme que la interfaz está lista. Como todavía no hemos implementado las funciones, imprime solo un mensaje de confirmación: la implementación real llegará en la siguiente lección.
La idea clave aquí es que tu encabezado revela qué puede hacer el módulo Account (crear y destruir cuentas) sin mostrar cómo almacena los datos internamente. Cualquiera que incluya account.h sabrá que existe un tipo Account y qué funciones están disponibles, pero no podrá acceder a ningún campo interno, ¡porque todavía no has definido ninguno en el encabezado!
Tu archivo principal debería mostrar:
Account interface readyEsto prepara el terreno para el sistema completo de cuentas bancarias que construirás durante las próximas lecciones. El encabezado que crees ahora crecerá para incluir deposit, withdraw y get_balance a medida que avances en el proyecto.
Pruébalo tú mismo
#include <stdio.h>
#include "account.h"
int main() {
// TODO: Imprime un mensaje confirmando que la interfaz está lista
// The message should be: "Account interface ready"
return 0;
}
Todas las lecciones de Programación Orientada a Objetos
1Fundamentos de programación modular
Archivos de cabeceraGuardas de inclusiónArchivos fuenteFunciones estáticasRepaso: Calculadora modular4Encapsulamiento
Concepto de punteros opacosDefinición de structs opacosGetters y SettersValidación en settersResumen: Caja secreta7Punteros a funciones
Declaración de punteros a funcionesLlamada a punteros a funcionesTypedef para punteros a funcionesPasar funciones como argumentosRepaso: Dispatch de calculadora10Contenedores genéricos
Repaso de punteros voidWrapper genéricoSwap genéricoComparación genéricaRepaso: Array genérico2Objetos y métodos
Structs como objetosEl puntero 'Self'Const CorrectnessPuntero vs. ValorMétodos auxiliaresResumen: Point Manager5Proyecto: Cuenta bancaria simple
Configuración del proyectoImplementación de la cuenta3Ciclo de vida de los objetos
Patrón ConstructorPatrón DestructorInicialización en StackCopia profundaResumen: String Wrapper6Herencia mediante composición
Incrustación de StructsLa regla del primer miembroAcceso a miembros padreUpcastingResumen: Jerarquía de formas9Proyecto: Dibujador de figuras
Descripción general del proyectoImplementación del círculoImplementación del rectánguloUso polimórficoContenedor de figurasPractica por tu cuenta: Compilador de C online