PROGRAMACION ORIENTADA A OBJETOS EN C++

Tamaño: px
Comenzar la demostración a partir de la página:

Download "PROGRAMACION ORIENTADA A OBJETOS EN C++"

Transcripción

1 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 clásico, muy extendido en la programación de sistemas. Se trata de una extensión del lenguaje C que presenta claras influencias del lenguaje Simula, que a su vez puede considerarse como el precursor de los lenguajes POO. El lenguaje C++ fue diseñado por Bjarne Stroustrup, cuyo objetivo era construir un C mejorado. El resultado es un lenguaje compilativo, extensión estricta del C, al que incorpora nuevas características, aunque no todas están relacionadas con la programación orientada a objetos. Los programas escritos en C son totalmente compatibles con los programas C++, aunque lo contrario no es cierto. Algunos autores dicen, que siendo C y luego C++ lenguajes muy cerca del hardware (orientados a la eficiencia), solo incorporan la POO en lo que no los degrade. Sin embargo, si lo comparamos con un lenguaje puro, digamos Smalltalk (esta comparación la hace Ravi Sethi en Lenguajes de Programación ) vemos que no hay nada que falte a C++. Es verdad que es híbrido, en C++ podemos programar en el estilo estructurado también, pero es esto un pecado? En C++ un programa consta de objetos. Los objetos son como los tipos abstractos de datos: Son un tipo de datos definido por el programador junto con un conjunto de operaciones que se pueden realizar sobre ellos. Son abstractos para diferenciarlos de los tipos de datos básicos definidos, por ejemplo int, char y double. Un objeto es una unidad que contiene datos y las funciones que operan sobre esos datos. A los elementos de un objeto se los conoce como miembros: las funciones que operan sobre los objetos se denominan métodos (o funciones miembro) y los datos se denominan miembros datos. Los objetos soportan una serie de características específicas de los mismos: Se agrupan en tipos denominados clases. Contienen datos internos que definen su estado actual. Soportan ocultación de datos. Pueden heredar propiedades de otros objetos. Pueden comunicarse con otros objetos enviando o pasando mensajes. Tienen métodos que definen su comportamiento. OBJETO DIAGRAMA DE UN OBJETO Miembros datos K Miembros Función (métodos) Kkjhfkk I N T E R F A Z Interior Exterior Lenguaje C++ - Página 1

2 Los objetos pueden ser activados mediante la recepción de mensajes. Un mensaje es una petición de un objeto a otro para que éste se comporte de una determinada manera, ejecutando uno de sus métodos, es decir los objetos de un programa se comunican entre sí mediante el paso o envío de mensajes. La notación utilizada para los mensajes es: nombre_ del _objeto.función _miembro o método En POO los objetos son miembros de una clase. Una clase es un tipo definido por el usuario, está formada por los métodos y los datos que definen las características comunes a todos los objetos de una clase. 2- CLASES El lenguaje C++ entiende por clase un tipo de dato definido por el programador que contiene toda la información necesaria para construir un objeto de dicho tipo y el conjunto de operaciones que permiten manejarlo (métodos). Las clases de C++ le permiten disfrutar de los beneficios de la modularidad, de la misma manera que en lenguajes tales como Ada o Modula-2. La construcción de las clases se hace de tal manera que se asegura el encapsulamiento de los objetos. Las clases en C++ soportan los conceptos: Encapsulamiento de datos Tipos abstractos de datos. El encapsulamiento de datos se produce cuando la representación interna de un objeto junto con sus operaciones, se encierran en la misma estructura (la clase). La clase define un tipo abstracto de dato. Una clase contiene elementos dato llamado miembros dato, y funciones que manipulan esos datos llamados miembros función o funciones miembro. Una clase se puede definir con una estructura (struct), una unión (union) o una clase (class). En el tipo class todos los miembros son por defecto privados. Las estructuras y uniones son clases en las que todos sus miembros son por defecto public, a no ser que se especifique lo contrario utilizando los especificadores de acceso. La sintaxis de una clase es: class nombre_clase miembro_1; miembro_2;... función_miembro_1( ); función_miembro_2( ); //Lista de miembros //funciones miembro Lenguaje C++ - Página 2

3 3- OBJETOS O INSTANCIAS DE UNA CLASE Los objetos o instancias de una clase se definen así: nombre_clase instancia_1 //instancia_1 es una instancia de la clase tipo nombre_clase 4- COMPONENTES La definición de una clase consta de dos partes: una declaración y una implementación. La declaración lista los miembros de la clase. La implementación o cuerpo define las funciones de la clase. Declaración de una clase class Contador long cuenta; public: void LeerValor(long); long ObtenerValor( ); Implementación de una clase void Contador ::LeerValor(long valor) cuenta=valor; } long Contador :: ObtenerValor( ) return cuenta; } :: operador de resolución de ámbito, identifica la clase a la que pertenece la función. 5- CONTROL DE ACCESO A UNA CLASE: VISIBILIDAD Una de las características fundamentales de una clase es ocultar tanta información como sea posible. Por consiguiente, es necesario imponer ciertas restricciones en el modo en que se puede manipular una clase y de cómo se puede utilizar los datos y el código dentro de una clase. Una clase puede contener partes públicas y partes privadas. Por defecto, todos los miembros definidos en la clase son privados. Para hacer las partes de una clase públicas (esto es, accesible desde cualquier parte de su programa) deben declararse después de la palabra reservada public. Todas las variables o funciones definidas después de public son accesibles a las restantes funciones del programa. Especialmente, el resto de su programa accede a un objeto a través de sus funciones y datos públicos. Dado que una característica clave de la POO es la ocultación de datos, debe tener presente que aunque puede tener variables públicas, desde un punto de vista Lenguaje C++ - Página 3

4 conceptual debe tratar de limitar o eliminar su uso. En su lugar, debe hacer todos los datos privados y controlar el acceso a ellos, a través de funciones públicas. El mecanismo para hacer privados datos o funciones es anteponerle la palabra reservada private. Por defecto, una clase es privada, aunque es conveniente especificar la visibilidad expresamente, por legibilidad y por compatibilidad con versiones posteriores que pueden recomendar su uso obligatorio. Existen tres clases de usuarios de una clase: 1- La propia clase 2- Usuarios genéricos 3- Clases derivadas Cada usuario tiene diferentes privilegios o niveles de acceso. Cada nivel de privilegio de acceso se asocia con una palabra reservada: 1- private 2- public 3- protected Por defecto todo lo declarado dentro de una clase es privado (private), y sólo se puede acceder a ella con las funciones miembros declaradas en el interior de la clase. Los miembros que se declaran en la región pública (public) se puede acceder a través de cualquier objeto de la clase de igual modo que se accede a los miembros de una estructura en C. Los miembros que se declaran en la región protegida (protected) sólo se pueden acceder por funciones miembros declaradas dentro de la clase, por funciones miembro de clases derivadas de esta clase. VISIBILIDAD DE UNA CLASE No accesible desde una clase externa Accesible desde una clase externa CLASE Privada Datos y/o funciones Pública Datos y/o funciones class artículo float precio; //privado por defecto char nombre[20]; //privado por defecto public: void indicar(void); //público.. Lenguaje C++ - Página 4

5 6- FUNCIONES MIEMBRO ESPECIALES CONSTRUCTORES Un constructor es una función especial que sirve para construir o inicializar objetos. Se caracteriza por: Tener el mismo nombre de la clase que inicializa. No devuelve valores Puede admitir parámetros como cualquier otra función. Pueden existir más de un constructor, e incluso no existir. Si no se define ningún constructor de una clase, el compilador generará un constructor por defecto. Las funciones constructoras se llaman cuando se define el objeto. 7- HERENCIA Y POLIMORFISMO - HERENCIA Y JERARQUIA DE CLASES 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. La derivación de las clases consigue la reutilización efectiva del código de la clase base para sus necesidades. C++ utiliza un sistema de herencia jerárquica. Es decir se hereda una clase de otra, creando nuevas clases a partir de clases ya existentes. Solo se pueden heredar clases, no funciones ordinarias ni variables. Una clase utilizada para derivar nuevas clases se denomina clase base (padre, superclase o ascendiente). Una clase creada de otra clase se denomina clase derivada o subclase. La terminología supone una clase base o clase padre, y una clase derivada o clase hija. Esta relación supone un orden de jerarquía simple. A su vez, una clase derivada puede ser utilizada como una clase base para derivar más clases. Por consiguiente se puede construir jerarquías de clases, en las que cada clase sirve como padre o raíz de una nueva clase. La siguiente figura representa un diagrama de jerarquía de clases. Lenguaje C++ - Página 5

6 JERARQUIA DE CLASES Figura clase base Clases derivadas Figura_círculo Figura_rectángulo Figura_rectángulo_sólido - TIPOS DE HERENCIA 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. Cada clase tiene un solo ascendiente, y puede tener muchos descendientes. La herencia múltiple es aquella en la cual una clase derivada tiene más de una clase base. clase base Clase derivada Clase derivada - TIPOS DE DERIVACION Los especificadores de acceso a la clase base definen los posibles tipos de derivación: public, private y protected. El tipo de acceso a la clase base especifica cómo recibirá la clase derivada a los miembros de clase base. Si no se especifica un acceso a la clase base, C++ supone que su tipo de herencia es privado. Los accesos a la clase base pueden ser: Lenguaje C++ - Página 6

7 public: Los miembros públicos de la clase base son miembros públicos de la clase derivada. Los miembros protegidos de la clase base son miembros protegidos de la clase derivada. Los miembros privados de la case base permanecen privados a la clase derivada. private: Todos los miembros públicos y protegidos de la clase base son miembros privados de la clase derivada. Los miembros privados de la clase base permanecen privados a la clase derivada. protected: todos los miembros públicos y protegidos de la clase base son miembros protegidos de la clase derivada. Los miembros privados de la clase base permanecen privados a la clase derivada. Ejemplo de una clase Class Persona private: char nombre[30]; int edad; public: Persona ( ); Constructor char vernombre ( ); void modificarnombre (char); int veredad ( ); void modiedad (int); ~Persona ( ); Destructor } char Persona::verNombre( ) return nombre; void modificarnombre(char nuevonombre) nombre=nuevonombre; int veredad( ) return edad; void modiedad( int nuevaedad) edad=nuevaedad Lenguaje C++ - Página 7

UAA-DSE Programación 2 / C++ Eduardo Serna-Pérez

UAA-DSE Programación 2 / C++ Eduardo Serna-Pérez 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

Más detalles

Universidad Nacional del Santa E.A.P. Sistemas e Informática Microcomputación III

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 detalles

Unidad 2. Elementos Intermedios del Lenguaje

Unidad 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 detalles

Academia 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 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 detalles

Unidad 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 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 detalles

Herencia. Implementación en Java

Herencia. 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 detalles

Clases y Objetos en C++

Clases 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 detalles

Qué es Java? Un lenguaje de programación Un entorno de desarrollo Un entorno de aplicación Un entorno de despliegue Es similar en sintaxis de C + +.

Qué es Java? Un lenguaje de programación Un entorno de desarrollo Un entorno de aplicación Un entorno de despliegue Es similar en sintaxis de C + +. APUNTES DE JAVA Agenda Bienvenida Conociendo Java La Maquina Virtual Descargar e instalar el compilador El entorno de trabajo El paradigma de la programación orientada a objetos Qué es Java? Un lenguaje

Más detalles

Programación orientada a objetos I

Programació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 detalles

INTRODUCCIÓN AL PARADIGMA DE LA PROGRAMACIÓN ORIENTADA A OBJETOS CON JAVA

INTRODUCCIÓ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 detalles

Programación orientada a Objetos (POO) La POO está compuesta por una serie de elementos que se detallan a continuación.

Programació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 detalles

Java Avanzado Facultad de Ingeniería. Escuela de computación.

Java 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

Programación orientada a objetos. Resumen de Temas Unidad 5: Herencia

Programació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 detalles

Introducción a Java. Fernando Cerezal López. 24 Noviembre 2005

Introducción a Java. Fernando Cerezal López. 24 Noviembre 2005 24 Noviembre 2005 disponibles de acceso public private protected de tipo static abstract final modificadores más avanzados que no vamos a ver... Clase Sintaxis modificadores class nombreclase{} Tipos primitivos

Más detalles

Curso de Java POO: Programación orientada a objetos

Curso 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 detalles

PNFSI. Asignatura: Desarrollo de Software. Tema 1: Programación Orientada a Objetos

PNFSI. 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 detalles

INTRODUCCIÓN A LA PROGRAMACIÓN

INTRODUCCIÓ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 detalles

Tema: Herencia en C#.

Tema: 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 detalles

Programación C++ (1 Parte) Dr. Oldemar Rodríguez Rojas Escuela De Informática Universidad Nacional

Programación C++ (1 Parte) Dr. Oldemar Rodríguez Rojas Escuela De Informática Universidad Nacional Programación C++ (1 Parte) Dr. Oldemar Rodríguez Rojas Escuela De Informática Universidad Nacional Programming Language Popularity: The TCP Index for December, 2012 La noción de clase en C++ C++ fue

Más detalles

Tema 1.- Conceptos básicos de la OO

Tema 1.- Conceptos básicos de la OO Tema 1.- Conceptos básicos de la OO 1. HISTORIA DE LOS CONCEPTOS... 2 2. OBJETOS Y MENSAJES... 3 3. CLASES DE OBJETOS... 5 4. HERENCIA... 8 5. OTROS CONCEPTOS... 9 6. DESARROLLO ORIENTADO A OBJETOS...

Más detalles

Unidad IV. Este tipo de codificación nos es permitido gracias a la sobrecarga, la cual se aplica a métodos y constructores.

Unidad 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 detalles

Có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? 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 detalles

Guía práctica de estudio 08: Polimorfismo

Guí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 detalles

Programación Orientada a Objetos

Programación Orientada a Objetos Programación Orientada a Objetos Informática II Fundamentos de Programación 1 Concepto de POO Un Objeto es una encapsulación de un conjunto de datos y de los métodos para manipular éstos. Las características

Más detalles

! Fundamentos de la POO. ! Comportamiento y estado. ! Clases y objetos en Java

! 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 detalles

PROGRAMACION ORIENTADA A OBJETOS. Vivimos en un mundo de Objetos. Cada objeto tiene sus atributos y operaciones...

PROGRAMACION ORIENTADA A OBJETOS. Vivimos en un mundo de Objetos. Cada objeto tiene sus atributos y operaciones... PROGRAMACION ORIENTADA A OBJETOS Vivimos en un mundo de Objetos. Cada objeto tiene sus atributos y operaciones... El texto anterior es parte una definicion de objetos, de los que hablaremos a lo largo

Más detalles

Herencia y Polimorfismo en C++

Herencia 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 detalles

Temas. Taller III 2007 Gentile,Vazquez

Temas. 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 detalles

Edwin Andrés Cubillos Vega

Edwin 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 detalles

Programación Orientada a Objetos (POO)

Programació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 detalles

Tema: Funciones Virtuales y Polimorfismo.

Tema: 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 detalles

Tema: Funciones Virtuales y Polimorfismo.

Tema: 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 detalles

La Herencia. La primera línea de cada declaración debe incluir la sintaxis siguiente:

La 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 detalles

UNIDAD 4 IMPLEMENTACION DE PROPIEDADES DE LOS OBJETOS JAVA

UNIDAD 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 detalles

Algoritmos y Estructuras de Datos Ingeniería en Informática, Curso 2º SEMINARIO DE C++ Sesión 2

Algoritmos y Estructuras de Datos Ingeniería en Informática, Curso 2º SEMINARIO DE C++ Sesión 2 Algoritmos y Estructuras de Datos Ingeniería en Informática, Curso 2º SEMINARIO DE C++ Sesión 2 Contenidos: 1. Definición de clases 2. Implementación de los métodos 3. Constructores y destructores 4. Objetos

Más detalles

Unidad V. Ya veremos qué poner en "algunas_palabras" y "algo_más", por ahora sigamos un poco más.

Unidad 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 detalles

Introducción a Programación Orientada a Objetos (OOP): Clases y Objetos 01/02/2013 ING. PEDRO BELTRÁN CANESSA

Introducción a Programación Orientada a Objetos (OOP): Clases y Objetos 01/02/2013 ING. PEDRO BELTRÁN CANESSA Introducción a Programación Orientada a Objetos (OOP): Clases y Objetos Definición Clase es la representación abstracta (modelo) de una entidad del mundo La clase especifica los atributos (propiedades)

Más detalles

Tema: Herencia en C#.

Tema: 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 detalles

Curso de Java POO: Programación orientada a objetos

Curso 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 detalles

Objetivos. Objetivos. Herencia. Objetivos. agregar funcionalidad a una clase existente, sin compilar su nueva definición.

Objetivos. 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 detalles

Modulo 11. Clases y Objetos en Java

Modulo 11. Clases y Objetos en Java El siguiente texto es una traducción no oficial del documento publicado por el grupo JEDI, Introduction to Programming 1, no pretende en ningún momento reemplazar los contenidos generados por este grupo.

Más detalles

Introducción a OOP. Programación Orientada a Objeto

Introducció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 detalles

Guía práctica de estudio 04: Tipos de clase

Guí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 detalles

3. LA HERENCIA. Necesidad de la herencia

3. 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 detalles

Conceptos Básicos. Programación Orientada a Objetos 2

Conceptos 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 detalles

PARADIGMA DE POO - CLASES

PARADIGMA DE POO - CLASES PARADIGMA DE POO - CLASES Los programas estructurados se basan en estructuras de control bien definidas, bloques de código, subrutinas independientes que soportan recursividad y variables locales. La esencia

Más detalles

HERENCIA Y TIPOS. Articulo. Video Audio Altavoces. Amplificador

HERENCIA 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 detalles

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

Centro 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 detalles

Programación Orientada a Objetos

Programació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 detalles

! Qué es la POO?! Un paradigma de programación. ! No hay paradigmas mejores ni peores! Todos tienen sus ventajas e inconvenientes

! Qué es la POO?! Un paradigma de programación. ! No hay paradigmas mejores ni peores! Todos tienen sus ventajas e inconvenientes Introducción Programación orientada a objetos Curso INEM. Programación en Java 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 detalles

Introducción a la Orientación a Objetos

Introducción a la Orientación a Objetos Introducción a la Orientación a Objetos Breve historia de la OO 1960s. Simula incorpora características propias de la OO. 1970s. Smalltalk. Lenguaje totalmente OO. 1990s. Boom de la OO. 2000-Hoy. Época

Más detalles

CONTENIDOS. La herencia permite: - Adoptar automáticamente características ya implementadas. Ahorro de tiempo y esfuerzo

CONTENIDOS. 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 detalles

Programació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 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 detalles

Programación Orientada a Objetos en C++

Programació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 detalles

Tema 3. Herencia. Programación Avanzada. Jorge Badenas

Tema 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 detalles

Principios de Computadoras II

Principios de Computadoras II Departamento de Ingeniería Electrónica y Computadoras Mg. Ricardo Coppo rcoppo@uns.edu.ar La herencia establece una relación entre dos clases, un ancestro o superclase y otro derivado o descendiente Por

Más detalles

Programación Orientada o Objetos

Programación Orientada o Objetos Programación Orientada o Objetos Programación digital II Escuela de Sistemas Facultad de Ingeniería Profesor: Gilberto Diaz Programación Orientada a Objetos En 1970 Dennis Ritchie y Brian Kernigan crearon

Más detalles

SEMESTRE: 1 SEMESTRE GRADO: 1 GRADO GRUPO: E1

SEMESTRE: 1 SEMESTRE GRADO: 1 GRADO GRUPO: E1 Subsecretaría de Educación Superior DIRECCIÓN GENERAL DE EDUCACIÓN SUPERIOR TECNOLÓGICA INSTITUTO TECNOLÓGICO DE SALINA CRUZ. NOMBRE DEL TEMA: CLASE PRINCIPAL NOMBRE DEL ALUMNO: ZÁRATE LÓPEZ LEONARDO ASIGNATURA:

Más detalles

POO. Por tanto, una clase nos permite crear varios objetos que pueden realizar la misma función o funciones diferentes.

POO. 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 detalles

Programació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 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 detalles

PHP orientado a objetos:

PHP orientado a objetos: PHP orientado a objetos: La mayoría de los lenguajes de programación modernos son orientados a objetos (abreviado OO) o en su defecto se aproximan mucho a éstos permitiendo algunas de sus características

Más detalles

Herencia. Proceso mediante el cual una clase adquiere las propiedades (atributos) y comportamiento (métodos) de otra.

Herencia. 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 detalles

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

Centro 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 detalles

CONCEPTOS BÁSICOS PROGRAMACIÓN ORIENTADA A OBJETOS. Ing. Martha Tello

CONCEPTOS BÁSICOS PROGRAMACIÓN ORIENTADA A OBJETOS. Ing. Martha Tello CONCEPTOS BÁSICOS PROGRAMACIÓN ORIENTADA A OBJETOS Ing. Martha Tello Introducción Cuando hacemos referencia a la programación orientada a objetos estamos hablando de una nueva forma de pensar acerca del

Más detalles

acceso Implementación de conceptos P.O.O. en Java Orientada a Objetos 2. Modificadores de en Java Temario

acceso 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 detalles

Carlos Montenegro. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas

Carlos Montenegro. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas 2 - Introducción al lenguaje Java, identificadores y comentarios. Carlos Montenegro Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas 1. Introducción: Java tiene como todos

Más detalles

Variables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs.

Variables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs. Variables Una variable no es más que un nombre simbólico que identifica una dirección de memoria: Suma el contenido de la posición 3001 y la 3002 y lo almacenas en la posición 3003 vs. total = cantidad1

Más detalles

12. Tipos de atributos

12. 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

Test : Conteste exclusivamente en una HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es A.

Test : Conteste exclusivamente en una HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es A. SISTEMAS INFORMÁTICOS I Junio 2003 INGENIERÍA EN INFORMÁTICA - Código Carrera 55 - Código Asignatura 077 Tipo de Examen: A NO SE PERMITE EL USO DE NINGÚN MATERIAL Tiempo: 2 horas Apellidos: Nombre: DNI:

Más detalles

INTRODUCCIÓN A LA POO EN C++

INTRODUCCIÓN A LA POO EN C++ INTRODUCCIÓN A LA POO EN C++ ÍNDICE DEL TEMA 1.- Introducción 2.- Diferencias C/C++ 3.- Programación orientada a objetos 4.- Aspectos avanzados C++ 1 1. Introducción Lenguaje C Lenguaje de propósito general

Más detalles

Introducción al Lenguaje "C++"

Introducción al Lenguaje C++ UNIDAD 2 Introducción al Lenguaje "C++" 1.- La programación Orientada a Objetos. La Programación Orientada a Objetos no es un concepto nuevo, data de hace unas dos decadas. El origen de la Programación

Más detalles

PROGRAMACIÓ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 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 detalles

Programación de Sistemas de Archivos Secuenciales con Objetos en Lenguaje C++

Programación de Sistemas de Archivos Secuenciales con Objetos en Lenguaje C++ Programación de Sistemas de Archivos Secuenciales con Objetos en Lenguaje C++ Bruno López Takeyas Resumen Este documento presenta una alternativa de programación de sistemas de archivos secuenciales mediante

Más detalles

Tema 2: Programación basada en Objetos

Tema 2: Programación basada en Objetos Tema 2: Programación basada en Objetos Programación Orientada a Objetos Marcos López Sanz Máster en Informática Gráfica, Juegos y Realidad Virtual Índice Objetivos Introducción Vista Pública Clases Objetos

Más detalles

class identificador{ //Bloque de propiedades (datos miembro, atributos, propiedades) //Bloque de métodos (comportamientos) }

class 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 detalles

Introducción a Java. Introducción a Java. Programación I

Introducció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 detalles

Guía práctica de estudio 07: Herencia

Guí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 detalles

POO: Clases y objetos

POO: 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 detalles

Lenguajes de Programación I

Lenguajes 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 detalles

UML: Diagrama de Clases

UML: Diagrama de Clases UML: Diagrama de Clases JUAN CARLOS CONDE RAMÍREZ INTRODUCTION TO PROGRAMMING Objetivos Entender el propósito de los diagramas de clases UML. Comprender la importancia de este tipo de diagramas para la

Más detalles

Tema 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 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 detalles

IMPLEMENTACIÓ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 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 detalles

Informática I para Bachillerato

Informática I para Bachillerato CIMAT C++ C/C++ de Datos CIMAT Sesión 15 Una estructura es un grupo de variables las cuales pueden ser de diferentes tipos sostenidas o mantenidas juntas en una sola unidad, a diferencia de los arreglos

Más detalles

Programación orientada a objetos II

Programación orientada a objetos II Repaso de conceptos Programación orientada a objetos II Curso INEM. Programación en C++ Santiago Muelas Pascual smuelas@fi.upm.es! Clase! Objeto! Atributos! Métodos! Cambio de enfoque! Constructor! Creación

Más detalles

Programación de Computadores 7 Objetos y Clases. Prof. Javier Cañas R. Universidad Técnica Federico Santa María Departamento de Informática.

Programación de Computadores 7 Objetos y Clases. Prof. Javier Cañas R. Universidad Técnica Federico Santa María Departamento de Informática. Programación de Computadores 7 Objetos y Clases Prof. Javier Cañas R. Universidad Técnica Federico Santa María Departamento de Informática Contenido 1 Introducción 2 Elementos de Programación Orientada

Más detalles

3.1 Introducción a TDA y OO. Capítulo III. Tipos de Datos Abstractos, Orientación a Objetos y Lenguaje Java

3.1 Introducción a TDA y OO. Capítulo III. Tipos de Datos Abstractos, Orientación a Objetos y Lenguaje Java Capítulo III 3.1 Introducción a TDA y OO Tipos de Datos Abstractos, Orientación a Objetos y Lenguaje Java Problemas en el Desarrollo de Grandes Programas ❶ Cómo organizar una pieza de software, de manera

Más detalles

18. Interfaces Declaración de una interfaz

18. Interfaces Declaración de una interfaz Programación orientada a objetos con Java 191 18. Interfaces Objetivos: a) Definir el concepto de interfaz b) Interpretar el código fuente de una aplicación Java donde aparecen interfaces c) Construir

Más detalles

Introducción a la programación orientada a objetos

Introducción a la programación orientada a objetos Introducción a la programación orientada a objetos 1. Introducción a la programación orientada a objetos 2. Las clases 3. El tipo Struct 4. Diferencias entre Class y Struct 5. Pilares de la Programación

Más detalles

4. POLIMORFISMO. Figura 6: Funciones virtuales

4. 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 detalles

Introducción a la Orientación a Objetos

Introducción a la Orientación a Objetos Introducción a la Orientación a Objetos Fernando Bellas Permuy Departamento de Tecnologías de la Información y las Comunicaciones (TIC) Universidad de A Coruña http://www.tic.udc.es/~fbellas fbellas@udc.es

Más detalles

2. Tratamiento de objetos con JAVA

2. Tratamiento de objetos con JAVA 2. Tratamiento de objetos con JAVA David Contreras Bárcena (ETSI) - Comillas 71 2.1 Ciclo de Vida de los Objetos Los objetos tienen un tiempo de vida y consumen recursos durante el mismo. Cuando un objeto

Más detalles

Unidad III. Clases y objetos. 3.1 Definición de una clase.

Unidad III. Clases y objetos. 3.1 Definición de una clase. Unidad III Clases y objetos. 3.1 Definición de una clase. Vamos a poner un ejemplo del segundo tipo, que simule la utilización de liberías de clases para crear un interfaz gráfico de usuario como Windows

Más detalles

Introducción. Introducción y conceptos de POO. En qué consiste la POO? Vocabulario. Definiciones

Introducción. Introducción y conceptos de POO. En qué consiste la POO? Vocabulario. Definiciones Introducción Fernández Universidad Autónoma de Madrid 20 de febrero de 2009 Introducción En qué consiste la Programación Orientada a Objetos? Vocabulario básico Ejemplo sencillo En qué consiste la POO?

Más detalles

Programación Avanzada CONCEPTOS BÁSICOS DE IMPLEMENTACIÓN EN C++

Programación Avanzada CONCEPTOS BÁSICOS DE IMPLEMENTACIÓN EN C++ Programación Avanzada CONCEPTOS BÁSICOS DE IMPLEMENTACIÓN EN C++ OBJETIVO En este documento se presentan las construcciones básicas de orientación a objetos del lenguaje de programación C++, y recomendaciones

Más detalles

Laboratorio 6 Tema 8. Programación Orientada a Objetos

Laboratorio 6 Tema 8. Programación Orientada a Objetos Laboratorio 6 Tema 8. Programación Orientada a Objetos Marco Teórico En la vida real casi todo se compone de objetos (Carro, lapicero, casa, etc.). Entendemos que tanto un Mercedes Benz verde, como un

Más detalles

Programación Orientada a Objetos. Por Jesús Alberto Zamarripa, Northware Project Manager

Programación Orientada a Objetos. Por Jesús Alberto Zamarripa, Northware Project Manager Programación Orientada a Objetos Por Jesús Alberto Zamarripa, Northware Project Manager Febrero 2012 La Programación Orientada a Objetos (POO) es el paradigma de programación más utilizado en la actualidad.

Más detalles

Introducción y conceptos de POO

Introducción y conceptos de POO Fernández Universidad Autónoma de Madrid 20 de febrero de 2009 Introducción Introducción En qué consiste la Programación Orientada a Objetos? Vocabulario básico Ejemplo sencillo En qué consiste la POO?

Más detalles