Clases y Objetos Las clases están compuestas por un conjunto de miembros (datos y funciones) también se conocen como (atributos y métodos) Una clase se usa como el modelo que deben seguir los objetos Un objeto es una instancia de una clase Las clases y objetos son similares a los tipos de datos y a las variables
Clases y Objetos
Clases y Objetos class Computer{ } boolean cpu; boolean keyboard; boolean mouse; String monitor; Definición de Clase Computer objeto1 = new Computer(); Creación de objeto
C++ esta regido bajo el Paradigma de Programación Orientada a Objetos. C++cumpleconlascaracterísticasclavesdelaPOO: Encapsulación Herencia Polimorfismo
Miembros privados Miembros Públicos: Sirven como interfaces entre la cápsula y el mundo exterior. Encapsulación Cápsula: Mantiene a un conjunto de elementos agrupados semánticamente.
Superclase o Clase Base Vehículo DosRuedas CuatroRuedas Bicicleta Motocicleta Auto Camión Herencia Subclase o Clase Derivada
ElPolimorfismosepuedellevaracaboconnombresdemétodosiguales, pero diferentes implementaciones basadas en los parámetros pasados o en los objetos invocados.
Mensaje: una comunicación dirigida a un objeto, que le ordena que ejecute uno de sus métodos con ciertos parámetros asociados al evento que lo generó. Un mensaje es una petición de un objeto a otro objeto al que le solicita ejecutar uno de sus métodos. Por convenio, el objeto que envía la petición se denomina emisory el objeto que recibe la petición se denomina receptor. Estructuralmente un mensaje consta de tres partes: Identidad del receptor. El métodoque ha de ejecutar. Información especialnecesaria para realizar el método invocado ( argumentos o parámetros requeridos ) Objeto Fecha Fecha sumar 3 meses
Método:Algoritmoasociadoaunobjeto(oaunaclasedeobjetos),cuyaejecuciónse desencadena tras la recepción de un"mensaje". Desde el punto de vista del comportamiento, es lo que el objeto puede hacer. Un método puede producir un cambioenlaspropiedadesdelobjeto,olageneracióndeun"evento"conunnuevo mensaje para otro objeto del sistema. Evento:Esunsucesoenelsistema(talcomounainteraccióndelusuarioconla máquina, o un mensaje enviado por un objeto). El sistema maneja el evento enviando el mensaje adecuado al objeto pertinente. También se puede definir como evento, a la reacción que puede desencadenar un objeto, es decir la acción que genera.
Abstracción: denota las características esenciales de un objeto, donde se capturan sus comportamientos. Los procesos, las funciones o los métodos pueden también ser abstraídos y cuando lo están, una variedad de técnicas son requeridas para ampliar una abstracción. El proceso de abstracción permite seleccionar las características relevantes dentro de un conjunto e identificar comportamientos comunes para definir nuevos tipos de entidades en el mundo real. La abstracción es clave en el proceso de análisis y diseño orientado a objetos, ya que mediante ella se puede llegar a armar un conjunto de clases que permitan modelar la realidad o el problema que se quiere atacar.
Constructores y Destructores (Inicialización de Clases I) Son métodos que permiten establecer el estado inicial y final de un objeto. Los constructores se pueden definir con un conjunto de argumentos arbitrario, pero no pueden devolver nada. Y los destructores no pueden recibir ni devolver ningún valor. El constructor debe llamarse igual que la clase, y el destructor el nombre de la clase precedido del carácter ~ Un constructor se ejecuta cuando se crea un nuevo objeto: 1)por declaración, ó 2)cuando se crea dinámicamente con el operador new. Un destructor se ejecuta cuando el objeto deja de existir: 1)porque su ámbito acaba, ó 2)cuando se libera explícitamente con el operador delete.
Constructores + Memoria heaphay objetos que viven dentro del scope(las llaves {}) en el que fue creado. Para que un objeto pueda seguir viviendo cuando se saque de el scopeen el que se creó, se lo debe crear en memoria heap. Para esto, se utiliza el operador new, el cual asigna memoria para almacenar al objeto creado, y además llama a su constructor(por lo que se le pueden enviar parámetros). Los destructores son invocados automáticamente al alcanzar el flujo del programa el fin del ámbito en el que está declarado el objeto. El único caso en el que se debe invocar explícitamente al destructor de un objeto, es cuando éste fue creado mediante el operador new, es decir, que éste vive en memoria heap, y no en la pila de ejecución del programa. La invocación del destructor de un objeto que vive en heapse realiza a través del operador delete o delete[] para arreglos.