UAA-DSE Programación 2 / C++ Eduardo Serna-Pérez
|
|
- Silvia Castellanos Herrero
- hace 7 años
- Vistas:
Transcripción
1 6 Herencia y Polimorfismo La Herencia y el Polimorfismo son dos de los principales mecanismos de programación que caracterizan a la programación orientada a objetos. La herencia sustenta su mecanismo en la reutilización de código a partir de una clase ya existente, generando así nuevas clases que incluyan las características previas (clase base) y aportando otras nuevas características (clase derivada). Por otro lado el polimorfismo es, quizás, uno de los mecanismo más poderosos y complejos de la programación orientada a objetos, es un mecanismo que permite a una función dada tener muchas especificaciones diferentes, dependiendo del tipo para el cual esta es aplicada. Ambos mecanismos viene a completar el concepto del paradigma orientado a objetos. 6.1 Herencia En el mundo real los objetos son con frecuencia extensiones de otro objeto. Por ejemplo, nosotros siempre describimos cosas usando frases como: Y es similar a X, excepto que Y tiene... y Y hace... Cuando hacemos esto, estamos definiendo un nuevo objeto describiendo como las características y comportamientos del nuevo objeto difieren del anterior objeto. La herencia es, seguramente, la característica más potente de la POO, después de las clases. Por herencia conocemos el proceso de crear nuevas clases, llamadas clases derivadas, a partir de una clase base. En C++ la herencia se manifiesta con la creación de un tipo definido por el usuario (clase), que puede heredar las características de otra clase ya existente o derivar las suyas a otra nueva clase. Cuando se hereda, las clases derivadas reciben las características (estructuras de datos y funciones) de la clase original, a las que se pueden añadir nuevas características o modificar las características heredadas. El compilador hace realmente una copia de la clase base en la nueva clase derivada y permite al programador añadir o modificar miembros sin alterar el código de la clase base. La derivación de clases consigue la reutilización efectiva del código de la clase base para sus necesidades. Si se tiene una clase base totalmente depurada, la herencia ayuda a reutilizar ese código en una nueva clase. No es necesario comprender el código fuente de la clase original, sino sólo lo que hace. Tome en cuenta que las jerarquías de clases (herencia) se usan especialmente en la resolución de problemas complejos, es difícil que se recurra a ellas para resolver problemas sencillos. Supongamos que nuestra clase base para clasificar a las personas en función de su profesión sea "Persona". Preste especial atención a la palabra "clasificar", es el punto de partida para buscar la solución de cualquier problema que se pretenda resolver usando POO. Lo primero que debemos hacer es buscar categorías, propiedades comunes y distintas que nos permitan clasificar los objetos, y crear lo que después serán las clases de nuestro programa. Es muy importante dedicar el tiempo y atención necesarios a esta tarea, de ello dependerá la flexibilidad, reutilización y eficacia de nuestro programa. Independientemente de la profesión, todas las personas tienen propiedades comunes como, nombre, fecha de nacimiento, género, estado civil, etc. 1
2 La siguiente clasificación debe ser menos general, supongamos que dividimos a todas las personas en dos grandes clases: empleados y estudiantes. Lo importante es decidir qué propiedades que no hemos incluido en la clase "Persona" son exclusivas de los empleados y de los estudiantes. Por ejemplo, el sueldo por nómina es exclusivo de los empleados, la calificación de la materia, es exclusiva de los estudiantes. Una vez hecho eso crearemos dos clases derivadas de Persona: "Empleado" y "Estudiante". Haremos una nueva clasificación, ahora de los empleados. Podemos clasificar a los empleados en ejecutivos y obreros. De nuevo estableceremos propiedades exclusivas de cada clase y crearemos dos nuevas clases derivadas de "Empleado": "Ejecutivo" y "Obrero". P ersona E m pleado E studiante E jecutiv o O brero En C++ existen dos tipos de herencia: simple y múltiple. La herencia simple es aquella en la que cada clase derivada hereda de una única clase. En herencia simple, cada clase tiene un solo ascendiente. Cada clase puede tener, sin embargo, muchos descendientes. La herencia múltiple es aquella en la cual una clase derivada tiene más de una clase base. Aunque el concepto de herencia múltiple es muy útil, el diseño de clases suele ser más complejo Clases derivadas La herencia simple se realiza tomando una clase existente y derivando nuevas clases de ella. La clase derivada hereda las estructuras de datos y funciones de la clase original. Además, se pueden añadir nuevos miembros a las clases derivadas y los miembros heredados pueden ser modificados. Una clase utilizada para derivar nuevas clases se denomina clase base, clase padre, superclase o ascendiente. Una clase creada de otra clase se denomina clase derivada o subclase. Se pueden construir jerarquías de clases, en las que cada clase sirve como padre o raíz de una nueva clase Conceptos fundamentales de derivación C++ utiliza un sistema de herencia jerárquica. Es decir, se hereda una clase de otra, creando nuevas clases a partir de las clases ya existentes. Sólo se pueden heredar clases. Una clase derivada hereda todos los miembros dato excepto, miembros dato estáticos, de cada una de sus clases base. Una clase derivada hereda las funciones miembro de su clase base. Esto significa que se hereda la capacidad para llamar a funciones miembro de la clase base en los objetos de la clase derivada. Los siguientes elementos de la clase no se heredan: Constructores y Destructores 2
3 Funciones amigas Funciones y datos estáticos de la clase Operador de asignación sobrecargado Una clase derivada no puede acceder a los datos miembro private de su clase base; si se permitiera esto, se estaría violando el encapsulamiento de la clase base. Sin embargo una clase derivada puede acceder a los datos miembros public y protected 1 de su clase base. Las clases base diseñadas con el objetivo principal de ser heredadas por otras se denominan clases abstractas. Normalmente, no se crean instancias a partir de clases abstractas, aunque sea posible Declaración de clases derivadas Cada clase derivada se debe referir a una clase base declarada anteriormente. La declaración de una clase derivada tiene la siguiente sintaxis: class clase_derivada : <especificadores_de_acceso> clase_base {... }; Los especificadores de acceso a las clases base definen los posibles tipos de derivación: public, protected y private. El tipo de acceso a la clase base especifica cómo recibirá la clase derivada a los miembros de la clase base. Si no se especifica un acceso a la clase base, C++ supone que su tipo de herencia es privado. Derivación pública (public). Todos los miembros public y protected de la clase base son accesibles en la clase derivada, mientras que los miembros private de la clase base son siempre inaccesibles en la clase derivada. Derivación privada (private). Todos los miembros de la clase base se comportan como miembros privados de la clase derivada. Esto significa que los miembros public y protected de la clase base no son accesibles más que por las funciones miembro de la clase derivada. Los miembros privados de la clase siguen siendo inaccesibles desde la clase derivada. Derivación protegida (protected). Todos los miembros public y protected de la clase base se comportan como miembros protected de la clase derivada. Estos miembros no son, pues, accesibles al programa exterior, pero las clases que se deriven a continuación podrán acceder normalmente a estos miembros (datos o funciones) Constructores y destructores en Herencia Una clase derivada puede tener tanto constructores como destructores, aunque tiene el problema adicional de que la clase base puede tomar ambas funciones miembro especiales. Un constructor o destructor definido en la clase base debe estar coordinado con los encontrados en una clase derivada. Igualmente importante es el movimiento de valores de los miembros de la clase derivada a los miembros que se encuentran en la base. En particular, se debe considerar cómo el constructor de la clase base recibe valores de la clase derivada para crear el objeto completo. 1 Los datos de tipo protected pueden ser accesibles a cualquier clase derivada, pero no esta disponible fuera de la clase base y derivada. 3
4 Si un constructor se define tanto para la clase base como para la clase derivada, C++ llama primero al constructor base. Después que el constructor de la base termina sus tareas, C++ ejecuta el constructor derivado. Cuando una clase base define un constructor, éste se debe llamar durante la creación de cada instancia de una clase derivada, para garantizar la buena inicialización de los datos miembro que la clase derivada hereda de la clase base. En este caso la clase derivada debe definir a su vez un constructor que llama al constructor de la clase base proporcionándole los argumentos requeridos. Un constructor de una clase derivada debe utilizar un mecanismo de pasar aquellos argumentos requeridos por el correspondiente constructor de la clase base. derivada::derivada ( tipo1 x, tipo2 y ) : base ( x, y ) {... } Otro aspecto importante que es necesario considerar es el orden en el que el compilador C++ inicializa las clases base de una clase derivada. Cuando El compilador C++ inicializa una instancia de una clase derivada, tiene que inicializar todas las clases base primero. Por definición, un destructor de clases no toma parámetros. Al contrario que los constructores, una función destructor de una clase derivada se ejecuta antes que el destructor de la clase base Redefinición de funciones Se pueden utilizar funciones miembro en una clase derivada que tengan el mismo nombre que otra de una clase base. La redefinición de funciones se realiza mediante funciones miembro sobrecargadas en la clase derivada. Una función miembro redefinida oculta todas las funciones miembro heredadas del mismo nombre. Por tanto cuando en la clase base y en la clase derivada hay una función con el mismo nombre en las dos, se ejecuta la función de la clase derivada. 6.2 Polimorfismo El concepto de Polimorfismo es uno de los fundamentos para cualquier lenguaje orientado a Objetos, las mismas raíces de la palabra pueden ser una fuerte pista de su significado: Poli = Multiple, morfismo= Formas, esto implica que un mismo Objeto puede tomar diversas formas. En programación orientada a objetos se denomina polimorfismo a la propiedad que poseen algunas operaciones de tener un comportamiento diferente dependiendo del objeto sobre el que se aplican. El polimorfismo dinámico (dynamic-binding) puede consistir en que si se tiene una instancia de una subclase, se asigna esa instancia a una referencia de la clase padre y se llama a un método de la referencia se obtendrá el comportamiento de la subclase. El mecanismo concreto depende del lenguaje de programación, observe el siguiente fragmento de código: 4
5 Figura a = new Circulo(); Figura b = new Rectangulo(); Inicialmente se puede pensar que este código generaría un error debido a que el tipo de referencia es distinta a la instancia del objeto, sin embargo, el fragmento anterior es correcto y demuestra el concepto de Polimorfismo. A través del concepto de Herencia ("Inheritance") es posible ilustrar este comportamiento: Figura Circulo Rectángulo 5
Universidad Nacional del Santa E.A.P. Sistemas e Informática Microcomputación III
HERENCIA Se entiende por herencia el proceso por el que un objeto puede tomar características de otro objeto. La herencia Se puede usar de dos formas: 1. Cuando una clase escrita no llega a cubrir las
Más detallesPROGRAMACION ORIENTADA A OBJETOS EN C++
PROGRAMACION ORIENTADA A OBJETOS EN C++ 1- INTRODUCCIÓN El lenguaje C++ representa el resultado de los esfuerzos realizados para proporcionar las ventajas de la programación Orientada a Objetos a un lenguaje
Más detallesTemas. Taller III 2007 Gentile,Vazquez
Temas Arreglos de Objetos Punteros de Objetos Arreglos de Punteros de Objetos Constructor de Copia Herencia Constructores y Destructores en Herencia Accesibilidad en Herencia 1 Arreglo de objetos Televisor
Más detallesProgramación orientada a objetos. Resumen de Temas Unidad 5: Herencia
Programación orientada a objetos Resumen de Temas Unidad 5: Herencia 5.1 Introducción a la Herencia La herencia es el mecanismo fundamental de relación entre clases en la orientación a objetos. Relaciona
Más detallesTema: Herencia en C#.
POO. Guía No. 8 1 Tema: Herencia en C#. Facultad: Ingeniería Escuela: Computación Asignatura: Programación Orientada a Objetos Materiales y Equipo Computadora con Visual Studio /Visual C#. Guía Número
Más detallesHERENCIA Y TIPOS. Articulo. Video Audio Altavoces. Amplificador
HERENCIA Y TIPOS. Las clases con propiedades y funciones comunes se agrupan en una superclase. Las clases que se derivan de una superclase son las subclases. Las clases se organizan como jerarquía de clases.
Más detallesHerencia. Implementación en Java
Herencia Implementación en Java Herencia Concepto de Herencia Es el mecanismo que permite definir nuevas clases partiendo de otras ya existentes. Las clases que derivan de otras heredan automáticamente
Más detallesTema: Herencia en C#.
Programación II. Guía No. 8 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Herencia en C#. Objetivos Crear clases a través de la herencia de clases existentes. Describir
Más detallesGuía práctica de estudio 07: Herencia
Guía práctica de estudio 07: Herencia Elaborado por: M.C. M. Angélica Nakayama C. Ing. Jorge A. Solano Gálvez Autorizado por: M.C. Alejandro Velázquez Mena Guía práctica de estudio 07: Herencia Objetivo:
Más detallesUnidad IV. Este tipo de codificación nos es permitido gracias a la sobrecarga, la cual se aplica a métodos y constructores.
Unidad IV Métodos. 4.1 Definición de un método. El polimorfismo, en programación orientada a objetos, se refiere a la posibilidad de acceder a un variado rango de funciones distintas a través del mismo
Más detallesAcademia de computación de IE, ICA e ISISA. Unidad didáctica Programación Orientada a Objetos
Academia de computación de IE, ICA e ISISA Unidad didáctica Programación Orientada a Objetos Elaboración y diseño de cien reactivos de opción múltiple para la unidad didáctica programación orientada a
Más detalles3. LA HERENCIA. Necesidad de la herencia
página 1 3. LA HERENCIA Necesidad de la herencia La mente humana clasifica los conceptos de acuerdo a dos dimensiones: pertenencia y variedad. Se puede decir que el Ford Fiesta es un tipo de coche (variedad
Más detallesUnidad Didáctica 5: Introducción a la Programación Orientada a Objetos
Unidad Didáctica 5: Introducción a la Programación Orientada a Objetos o Clases o Estructuras con funciones miembros. o Definición de una clase. o Constructores. o Tipos de constructores. o Sobrecarga
Más detallesEdwin Andrés Cubillos Vega
PROGRAMACION ORIENTADA A OBJETOS Edwin Andrés Cubillos Vega Company LOGO Contenido Introducción Clases y Objetos Herencia Constructores y Destructores Polimorfismo Contenido Introducción Clases y Objetos
Más detallesClases y herencia. FJP Unidad 8. Diseño de clases
Clases y herencia FJP Unidad 8 Encapsulamiento Diseño de clases El encapsulamiento provee protección de atributos y métodos definidos en una clase de forma tal que comportamiento de objetos de una clase
Más detallesINTRODUCCIÓN A LA PROGRAMACIÓN
INTRODUCCIÓN A LA PROGRAMACIÓN ANEXO 2 El paradigma orientado a objetos INTRODUCCIÓN 1) Programación orientada a objetos (P.O.O.) Un proyecto de software es complejo. Las GUI 1, acceso transparente a datos
Más detallesUNIDAD 4 IMPLEMENTACION DE PROPIEDADES DE LOS OBJETOS JAVA
UNIDAD 4 IMPLEMENTACION DE PROPIEDADES DE LOS OBJETOS JAVA Analista Programador Universitario Universidad Nacional de Jujuy JTP Jorge R. Mendoza Implementación de propiedades de los objetos Java Contenido
Más detallesProgramación Orientada a Objetos
Programación Orientada a Objetos PROGRAMACIÓN ORIENTADA A OBJETOS 1 Sesión No. 4 Nombre: Herencia Contextualización Cuando hablamos de informática podemos contemplar varios elementos que se utilizan dentro
Más detallesUnidad 2. Elementos Intermedios del Lenguaje
Unidad 2 Elementos Intermedios del Lenguaje Paradigmas de Programación Un paradigma de programación se refiere a la forma en que se entiende, diseña y desarrolla una aplicación Imperativo Declarativo Funcional
Más detallesIntroducción a OOP. Programación Orientada a Objeto
Introducción a OOP Programación Orientada a Objeto Evolución Programación no Estructurada, Programación procedimental, Programación modular y Programación orientada a objetos. Programación no Estructurada
Más detallesCurso de Java POO: Programación orientada a objetos
Curso de Java POO: Programación orientada a objetos Luis Guerra Velasco Curso INEM. Programación en Java Diciembre 2010 Índice 1 Introducción 2 Comportamiento y estado 3 POO en Java 4 Relaciones 5 Herencia
Más detallesTema 3. Herencia. Programación Avanzada. Jorge Badenas
Tema 3. Herencia Programación Avanzada Jorge Badenas 1. Herencia Herencia: relación entre dos clases, donde una clase nueva se define como una extensión de la otra. En la nueva clase sólo necesitamos escribir
Más detallesClases y Objetos en C++
Informática II Clases y Objetos en C++ Introducción Las variables de los tipos fundamentales de datos no son suficientes para modelar adecuadamente objetos del mundo real. alto, ancho y longitud para representar
Más detallesHerencia. Proceso mediante el cual una clase adquiere las propiedades (atributos) y comportamiento (métodos) de otra.
Programación Orientada a Objetos Herencia Ing. Julio Ernesto Carreño Vargas MsC. Herencia Proceso mediante el cual una clase adquiere las propiedades (atributos) y comportamiento (métodos) de otra. Programación
Más detallesProgramación orientada a Objetos (POO) La POO está compuesta por una serie de elementos que se detallan a continuación.
Clase 3: 22/08/2016 Programación orientada a Objetos (POO) La POO está compuesta por una serie de elementos que se detallan a continuación. Clase Una clase es un modelo que se utiliza para crear objetos
Más detallesCentro Asociado Palma de Mallorca. Antonio Rivero Cuesta
Centro Asociado Palma de Mallorca Introducción Práctica de Programación Java Antonio Rivero Cuesta Sesión VIII Composición... 4 Herencia... 8 Herencia e Inicialización... 11 Constructor de Superclase...
Más detallesCómo se estructura un programa en C#? Qué son las clases y los objetos? Cómo se estructuran los dibujos de AutoCAD?
Cómo se estructura un programa en C#? Qué son las clases y los objetos? Cómo se estructuran los dibujos de AutoCAD? 1 2.1. CONCEPTOS FUNDAMENTALES DE C# 2.1.1. FUNCIONES: PÁSO DE PARÁMETROS 2.1.2. CLASES
Más detallesFrancisco Javier Peña Escobar Universidad del Valle
Francisco Javier Peña Escobar Universidad del Valle franpena@univalle.edu.co Universidad del Valle - 2009 Relaciones entre clases Relaciones entre clases. Herencia. Constructores y destructores. Lista
Más detallesHerencia y polimorfismo
Herencia y polimorfismo Programación Orientada a Objeto Ing. Civil en Telecomunicaciones Herencia Hemos visto cómo crear nuestras propias clases Clase InfoAlumno para calcular las notas Supongamos ahora
Más detallesPOO: Clases y objetos
POO: Clases y objetos Programación de aplicaciones 1 Introducción En los lenguajes de programación orientados a objetos, tenemos la posibilidad de extender el lenguaje mediante la creación de nuevo tipos,
Más detallesCentro Asociado Palma de Mallorca. Antonio Rivero Cuesta
Centro Asociado Palma de Mallorca Introducción Práctica de Programación Java Antonio Rivero Cuesta Sesión IX Composición... 4 Herencia... 8 Herencia e Inicialización... 12 Constructor de Superclase...
Más detallesIMPLEMENTACIÓN DE CONCEPTOS P.O.O. EN JAVA
IMPLEMENTACIÓN DE CONCEPTOS P.O.O. EN JAVA Implementación de conceptos P.O.O. en Java Temario 2. Conceptos de Programación Orientada a Objetos 1. Conceptos de P.O.O. 2. Implementación de conceptos P.O.O
Más detallesProgramación orientada a objetos I
Introducción Programación orientada a objetos I Curso INEM. Programación en C++ Santiago Muelas Pascual smuelas@fi.upm.es Qué es la POO? Un paradigma de programación Un paradigma es una forma de afrontar
Más detallesTema: Funciones Virtuales y Polimorfismo.
Programación II. Guía No. 10 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Funciones Virtuales y Polimorfismo. Objetivos Comprender que es ligadura e identificar sus tipos.
Más detallesTema: Funciones Virtuales y Polimorfismo.
Programación II. Guía 10 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Funciones Virtuales y Polimorfismo. Objetivos Específicos Comprender que es ligadura e identificar
Más detallesTema: Funciones Virtuales y Polimorfismo.
POO104. Guía No. 10 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación Orientada a Objetos Tema: Funciones Virtuales y Polimorfismo. Materiales y Equipo Computadora con el software C
Más detallesClase 3: Repaso POO. DSIW1:Ing. Tomás Eduardo Urbina 1
DSIW1:Ing. Tomás Eduardo Urbina 1 Declaración de una clase y creación de un objeto. La programación orientada a objetos se basa en la programación de clases; a diferencia de la programación estructurada,
Más detallesCurso de PHP. Pascual Gómez del Pino Página 1
Curso de PHP. Pascual Gómez del Pino Página 1 CLASES Y OBJETOS. PHP no es un lenguaje orientado a objetos, por lo menos en su totalidad. Pero PHP tiene la capacidad de definir clases y objetos. PROGRAMACIÓN
Más detallesGuía práctica de estudio 08: Polimorfismo
Guía práctica de estudio 08: Polimorfismo Elaborado por: M.C. M. Angélica Nakayama C. Ing. Jorge A. Solano Gálvez Autorizado por: M.C. Alejandro Velázquez Mena Guía práctica de estudio 08: Polimorfismo
Más detallesApuntes de Programación y estructuras de datos. Control de datos
Apuntes de Programación y estructuras de datos. Control de datos Nikos Mylonakis, Fernando Orejas y Ana Cristina Zoltan nicos@lsi.upc.edu Dept. Llenguatges i Sistemes Informátics Universitat Politécnica
Más detallesProgramación Orientada a Objetos Clases, métodos, atributos. Concepto de herencia, clases derivadas, tipos de herencia.
C3 Programación Orientada a Objetos Clases, métodos, atributos. Concepto de herencia, clases derivadas, tipos de herencia. Encapsulamiento y propiedades. Temas Clases y Objetos Herencia Clases derivadas
Más detallesacceso Implementación de conceptos P.O.O. en Java Orientada a Objetos 2. Modificadores de en Java Temario
Implementación de conceptos P.O.O. en Java Temario 2. Conceptos de Programación Orientada a Objetos 1. Conceptos de P.O.O. 2. Implementación de conceptos P.O.O en Java 1. Creación de clases y objetos 2.
Más detallesTema 6: Herencia. (El lenguaje C++)
(El lenguaje C++) 1 Índice 2 1. Herencia 3 En C++ pueden ser definidas clases en términos de otras clases (composición). En C++ también podemos definir una clase a partir de otra preexistente utilizando
Más detallesHerencia en Java. Agustín J. González Diseño y Programación Orientados a Objetos
Herencia en Java Agustín J. González Diseño y Programación Orientados a Objetos 1 Introducción La idea básica es poder crear clases basadas en clases ya existentes. Cuando heredamos de una clase existente,
Más detallesProgramación orientada a objetos. Capítulo 8 Mejora de las estructuras mediante herencia
Programación orientada a objetos Capítulo 8 Mejora de las estructuras mediante herencia Clases y objetos de DoME Modelo de objetos Modelo de clases Crítica de la v1 de DoME - Duplicación de código - Las
Más detallesTEMA 5. Agenda. Herencia
TEMA 5 Herencia V1.3 Manuel Pereira González Agenda Implementación Métodos Heredados vs Sobreescritos La Clase Object Resumen 1 Introducción Herencia Una clase (subclase ó clase hija) hereda la estructura
Más detallesLa Herencia. La primera línea de cada declaración debe incluir la sintaxis siguiente:
La Herencia Es la capacidad de compartir atributos y métodos entre clases. Es la propiedad que permite definir nuevas clases usando como base clases ya existentes. La nueva clase (clase derivada) hereda
Más detallesProgramación Orientada a Objetos (POO)
Programación Orientada a Objetos (POO) Introducción La programación orientada a objetos es una técnica de programación en la cual expresamos el código en términos relacionados a como vemos las cosas en
Más detallesProgramación Orientada a Objetos en C++
Unidad I Programación Orientada a Objetos en C++ Programación Orientada a Objetos en C++ Programación I - 0416202 Contenido Esta lección abarca los siguientes temas: Estructura y declaración de una clase
Más detallesLa Herencia: Teoría (1)
Introducción a la Herencia Presentación basada en: 1. Construcción de Software Orientado a Objetos. Bertrand Meyer.1998. 2. Java 2., Curso de programación. Fco. Javier Ceballos. Ed. Alfoomega&RA-MA, 2003.
Más detallesTema 3 Herencia en Java Parte 1. Programación Orientada a Objetos Curso 2015/2016
Tema 3 Herencia en Java Parte 1 Programación Orientada a Objetos Contenido Introducción. Definición y tipos. Constructores. Redefinición. Polimorfismo. Herencia y sistema de tipos. Ligadura dinámica. Casting
Más detallesHerencia y Polimorfismo en C++
Herencia y Polimorfismo en C++ Informática II Fundamentos de Programación 1 Herencia Concepto de "herencia" herencia": Una clase -clase derivada- puede definirse a partir de otra clase ya existente (clase
Más detallesCONTENIDOS. La herencia permite: - Adoptar automáticamente características ya implementadas. Ahorro de tiempo y esfuerzo
CONTENIDOS 1. Introducción 2. Cuándo se aplica el mecanismo de herencia 3. Un ejemplo de herencia 4. Terminología 5. Clase derivada. Creación de una clase derivada 6. Miembros que no se heredan automáticamente
Más detallesPOO. Por tanto, una clase nos permite crear varios objetos que pueden realizar la misma función o funciones diferentes.
CURSO DE PHP. POO. Antes de entrar en detalle sobre los conceptos establecidos en la programación orientada, tendremos que establecer conceptos básicos para el estudiante conozca la terminología de la
Más detallesUnidad V. Ya veremos qué poner en "algunas_palabras" y "algo_más", por ahora sigamos un poco más.
Implementación Orientada a Objetos. Unidad V 5.1 Estructura de una clase. Una clase consiste en: algunas_palabras class nombre_de_la_clase [algo_más] { [lista_de_atributos] [lista_de_métodos] Lo que está
Más detallesPOO: Herencia. Programación de aplicaciones. Jesus Barron Vidales 7/05/10
POO: Herencia Programación de aplicaciones 1 Herencia La herencia es una de las características fundamentales de la POO, es la capacidad de crear nuevas clases a partir de otras ya existentes. Además de
Más detalles16. Herencia Definición de herencia. 168 A. García-Beltrán y J.M. Arranz
168 A. García-Beltrán y J.M. Arranz 16. Herencia Objetivos: a) Definir el concepto de herencia entre clases b) Interpretar el código fuente de una aplicación Java donde aparecen clases relacionadas mediante
Más detallesEl lenguaje C++ A partir del lenguaje C Entorno de programación Visual C++
El lenguaje C++ A partir del lenguaje C Entorno de programación Visual C++ Nuevas palabras reservadas asm inline public virtual catch new template class operator this delete private throw friend protected
Más detallesGuía práctica de estudio 04: Tipos de clase
Guía práctica de estudio 04: Tipos de clase Elaborado por: M.C. M. Angélica Nakayama C. Ing. Jorge A. Solano Gálvez Autorizado por: M.C. Alejandro Velázquez Mena Guía práctica de estudio 04: Tipos de clases
Más detallesDefinición de clase: Una clase es un prototipo que define las variables y los métodos de todos los objetos con características comunes.
Clases y Objetos Java es un lenguaje orientado a objetos que incorpora un gran número de clases predefinidas organizadas en paquetes. La programación en Java supone definir clases de forma jerárquica,
Más detallesDefinición de clase: Una clase es un prototipo que define las variables y los métodos de todos los objetos con características comunes.
Clases y Objetos Java es un lenguaje orientado a objetos que incorpora un gran número de clases predefinidas organizadas en paquetes. La programación en Java supone definir clases de forma jerárquica,
Más detallesHerencia en Java. Agustín J. González Diseño y Programación Orientados a Objetos
Herencia en Java Agustín J. González Diseño y Programación Orientados a Objetos 1 Introducción La idea básica es poder crear clases basadas en clases ya existentes. Cuando heredamos de una clase existente,
Más detallesTema 1: Introducción a las Computadores y Lenguajes de. Programa
Tema 1: Introducción a las Computadores y Lenguajes de programación: Paradigmas de la programación. Programa Arquitectura del Computador Input Células de memoria Información (words) Dirección Output w
Más detallesTema 3b: Estructura General de un programa en Java
Tema 3b: Estructura General de un programa en Java 0 Modificadores de acceso Son keywords en Java que dan información al compilador sobre el ámbito en el que una clase, un método y/o una variable pueden
Más detallesProgramación Orientada a Objetos
Programación Orientada a Objetos E.T.S.I. Informática Universidad de Málaga http://www.lcc.uma.es/ Contenido Introducción histórica Conceptos básicos de la Programación O. O. Conceptos avanzados de la
Más detallesContenido. Prefacio Orígenes de la programación orientada a objetos... 1
Prefacio... xv 1. Orígenes de la programación orientada a objetos... 1 1.1 La crisis del software... 1 1.2 Evolución del software... 3 1.3 Introducción a la programación orientada a procedimientos... 4
Más detallesProgramación Orientada a Objetos. Resumen de Temas Unidad 3: Constructores y destructores
Programación Orientada a Objetos Resumen de Temas Unidad 3: Constructores y destructores 3.1 Conceptos de métodos constructor y destructor Java inicializa siempre con valores por defecto las variables
Más detallesAplicaciones de Escritorio
Aplicaciones de Escritorio Introducción n a la Programación Orientada a Objetos con Java Disertantes: Ing. Rasjido, Jose. AdeS Montenegro, Cristian. Agenda Clases y Paquetes. Clases y Paquetes. Modificadores
Más detalles4. POLIMORFISMO. Figura 6: Funciones virtuales
página 1 4. POLIMORFISMO Polimorfismo, por definición, es la capacidad de adoptar formas distintas. En el ámbito de la Programación Orientada a Objetos se entiende por polimorfismo la capacidad de llamar
Más detallesObjetivos. Objetivos. Herencia. Objetivos. agregar funcionalidad a una clase existente, sin compilar su nueva definición.
(a) objetivos (b) terminología (c) polimorfismo (d) tipeo y herencia (e) vinculación dinámica de código (f) clases abstractas (g) soporte en JAVA (h) significado de la herencia (i) herencia y aserciones
Más detallesCurso de Java POO: Programación orientada a objetos
Curso de Java POO: Programación orientada a objetos Luis Guerra l.guerra@upm.es Curso INEM. Programación en Java Marzo 2011 Índice Previo Repaso y encapsulación Empaquetado Relaciones entre clases Herencia
Más detallesProgramación Orientada a Objetos. Conceptos Básicos
Programación Orientada a Objetos Conceptos Básicos Programación Orientada a Objetos Paradigma de programación Un programa orientado a objetos está organizado como un conjunto de agentes en interacción
Más detallesPNFSI. Asignatura: Desarrollo de Software. Tema 1: Programación Orientada a Objetos
PNFSI Asignatura: Desarrollo de Software Tema 1: Programación Orientada a Objetos Ing. Zamantha González Abril, 2008 Contenido Conceptos básicos Clase Objeto o instancia Atributos Métodos Constructores
Más detallesLenguajes de Programación I
Lenguajes de Programación I Orientación a Objetos Ernesto Hernández-Novich Copyright c 2006-2010 Módulos como abstracción de datos Los módulos conducen a un estilo de programación en el cual
Más detallesFundamentos de Programación
Fundamentos de Programación Extensión de clases: herencia y polimorfismo 13.12.2010 José A. Mañas Dpto. de Ingeniería de Sistemas Telemá@cos hcp://www.lab.dit.upm.es/~fprg/ extensión
Más detallesPOO PROGRAMACIÓN ORIENTADA A OBJETOS
POO PROGRAMACIÓN ORIENTADA A OBJETOS 1 Programación estructurada, consiste en descomponer el problema objeto de resolución en subproblemas y más subproblemas hasta llegar a acciones muy simples y fáciles
Más detallesAnálisis y Diseño Orientado a Objetos
Análisis y Diseño Orientado a Objetos 1 Sesión No. 3 Nombre: Paradigma orientado a objeto. Parte III. Contextualización Cuál es el papel de la herencia dentro de los ambientes de programación? La herencia
Más detallesINTRODUCCIÓN AL PARADIGMA DE LA PROGRAMACIÓN ORIENTADA A OBJETOS CON JAVA
Objetivo: Identificar los concentos principales en java POO, que es una clase, un objeto así como sus características principales abstracción, modularidad, encapsulamiento, herencia, polimorfismo. INTRODUCCIÓN
Más detallesclass identificador{ //Bloque de propiedades (datos miembro, atributos, propiedades) //Bloque de métodos (comportamientos) }
Programación Basada en Objetos Lectura 2 Clases en Java Definición class identificador{ //Bloque de propiedades (datos miembro, atributos, propiedades) //Bloque de métodos (comportamientos) class Tiempo{
Más detallesPROGRAMACIÓN EN C#.NET Programación Orientada a Objetos en C# Ing. Bruno López Takeyas
PROGRAMACIÓN EN C#.NET Programación Orientada a Objetos en C# Ing. Bruno López Takeyas Instituto Tecnológico de Nuevo Laredo 1 Qué es UML? UML = Unified Modeling Language Un lenguaje de propósito general
Más detallesNecesidad de la herencia pertenencia variedad is a has a herencia variedad definir una clase modificando una o más clases añadir nuevos miembros
Necesidad de la herencia La mente humana clasifica los conceptos de acuerdo a dos dimensiones: pertenencia y variedad. Se puede decir que el Ford Fiesta es un tipo de coche (variedad o, en inglés, una
Más detallesCurso de Java orientado a Android Parte 2
Curso de Java orientado a Android Parte 2 Introducción Java es un lenguaje de programación orientado a objetos (OOP). En este post cubriremos las características y principios básicos de la programación
Más detallesProgramación Orientada a Objetos con Java
Programación Orientada a Objetos con Java M.C. Jorge Eduardo Ibarra Esquer jorgeeie@uabc.mx Diseño orientado a objetos El diseño orientado a objetos surge de la idea de traspasar a los sistemas de software,
Más detallesJava Avanzado Facultad de Ingeniería. Escuela de computación.
2 Java Avanzado Facultad de Ingeniería. Escuela de computación. Java Avanzado. Guía 5 3 Introducción Este manual ha sido elaborado para orientar al estudiante de Java Avanzado en el desarrollo de sus prácticas
Más detalles! Fundamentos de la POO. ! Comportamiento y estado. ! Clases y objetos en Java
Introducción a la programación orientada a objetos Curso de Programación en Java! Fundamentos de la POO! Comportamiento y estado! Clases y objetos en Java Contenidos Luis Guerra l.guerra@upm.es Enero 2012
Más detallesHerencia y Clases Abstractas
Herencia y Clases Abstractas Reutilización de código y código genérico ELO329: Diseño y Programación Orientados a Objetos Introducción La idea básica es poder crear clases basadas en clases ya existentes.
Más detallesSesión 7. TEMA 9 Extensión de clases: HERENCIA
Sesión 7. TEMA 9 Extensión de clases: HERENCIA Fundamentos de Informática José Jaime Noguera Noguera 6 de mayo de 2018 Contenidos 1 Introducción 2 Ejemplo 3 Código 4 Cuestiones 5 Tareas Temario Este es
Más detallesTema 1. Herencia y Polimorfismo
ÍNDICE EDA. Unidad didáctica I: Conceptos de Java para Estructuras de Datos Tema 1. Herencia y Polimorfismo 1. Relaciones entre clases: Reutilización del software. 2. La Herencia como soporte Java del
Más detallesPROGRAMACIÓN ORIETADA A OBJETOS
PROGRAMACIÓN ORIETADA A OBJETOS Categorías de PL Categorías Procedimental Declarativa Imperativa Estructurada Orientada a Objetos Funcional Lógica Programación Orientada a Objetos DATOS DATOS Métodos Métodos
Más detallesNETBEANS JAVA PROGRAMACIÓN ORIENTADA A OBJETOS
NETBEANS JAVA PROGRAMACIÓN ORIENTADA A OBJETOS Como se vio en teoría, la definición de una clase consta de dos partes fundamentales: 1 - La declaración de la clase: Indica el nombre de la clase precedido
Más detallesCLASE 9 -HERENCIA Y POLIMORFISMO
CLASE 9 -HERENCIA Y POLIMORFISMO INTRODUCCIÓN Diferentes tipos de objetos con características y comportamiento comunes. lado1 lado2 lado3 color de línea color de relleno punto Triángulo Círculo radio color
Más detallesConceptos Básicos. Programación Orientada a Objetos 2
Programación Orientada a Objetos Conceptos Básicos de Objetos Ing. Julio Ernesto Carreño Vargas MsC. Conceptos Básicos Las aproximaciones ADOO y POO, proveen a los objetos como el principal medio para
Más detallesProgramación. Orientada a Objetos. Prof. Angela Di Serio. Universidad Simón Bolívar Especialización en Telemática
Programación Orientada a Objetos Prof. Angela Di Serio Universidad Simón Bolívar Especialización en Telemática Agenda Clase 2 Qué es Orientado a Objetos? Conceptos: objeto, clase, instancias, mensajes
Más detallesOOP y C++ Indice. 0.1 Análisis orientado a objetos(1/4) Análisis orientado a objetos(2/4) 0.- OOP 1.- INTRODUCCIÓN.
OOP y C++ Un lenguaje para Programadores Carlos PLATERO Indice 0.- OOP 1.-. Objetivos, palabras clave, reglas prácticas, consejos 2.- CLASES Y OBJETOS. Extensión del concepto de estructura en C 3.- HERENCIA.
Más detalles3.4 Clases y Objetos 05/04/2004. Conceptos Generales. Modificadores de la Clase. Estructura de una Clase. Variables Miembros
Conceptos Generales 3.4 Clases y Objetos Clases, miembros, constructores, control de acceso Las clases contienen los métodos que definen la computación Los campos (fields) o variables miembros definen
Más detallesIntroducción a Java. Introducción a Java. Programación I
Introducción a Java Introducción a Java Programación I Como Funciona Tipos de Datos TIPO TAMAÑO RANGO byte 8 bits Valores numéricos de 128 a 127 short 16 bits Valores numéricos de 32.768 a 32.767 int 32
Más detalles12. Tipos de atributos
Programación orientada a objetos con Java 135 12. Tipos de atributos Objetivos: a) Profundizar en el concepto de atributo de una clase e indicar los tipos de atributos en Java b) Interpretar el código
Más detalles