Archivo de la etiqueta: herencia

Implementación de Puertas Lógicas en C++

Puerta.hpp

#ifndef _PUERTA_
#define _PUERTA_

#include <iostream>
#include <sstream>
#include <string>

class Puerta {
protected:
    static int contador;
    int getId;

public:
    static const int CERO = 0;
    static const int UNO = 1;
    static const int ND = 9;

    friend std::ostream& operator<<(std::ostream& o, Puerta& p);

    Puerta();
    virtual int salida() = 0;
    virtual std::string tipo() = 0;
    virtual std::string toString(int numEsp = 0); Seguir leyendo “Implementación de Puertas Lógicas en C++” »

Conceptos Fundamentales de Programación Orientada a Objetos

Funciones

Una función es una parte de un programa con un nombre, que puede ser invocada desde otra parte tantas veces como se desee. Es un bloque de código que puede ser ejecutado como una unidad funcional que puede recibir valores, se ejecuta y puede devolver un valor.

Arreglos

Un arreglo es un conjunto de datos que se almacenan en memoria de manera contigua con el mismo nombre.

Concurrencia

La concurrencia es una propiedad que distingue a un objeto activo de uno no activo, y permite que varios objetos Seguir leyendo “Conceptos Fundamentales de Programación Orientada a Objetos” »

Principios de Programación Orientada a Objetos: Herencia, Polimorfismo y Relaciones entre Clases

Clase Abstracta

Declararíamos una clase abstracta cuando no tiene sentido instanciar objetos directamente de ella, sino que sirve como base para otras clases. Una clase abstracta contiene métodos abstractos que deben ser implementados por las subclases.

Las consecuencias son que no se pueden crear instancias directamente de una clase abstracta y que las subclases deben implementar todos los métodos abstractos, lo que asegura que la estructura de la clase base se respeta en todas las derivaciones. Seguir leyendo “Principios de Programación Orientada a Objetos: Herencia, Polimorfismo y Relaciones entre Clases” »