Capítulo 6. Introducción a la POO



Documentos relacionados
Tema: Sobrecarga de Operadores.

UNIVERSIDAD CATOLICA DE COLOMBIA FACULTAD DE INGENIERIA DE SISTEMAS

2.2.- Paradigmas de la POO

1. Ejemplo de clase : La clase Cuenta 2. Uso de la clase Cuenta. 3. Métodos y objetos receptores de mensajes (Importante)

Introducción a la programación orientada a objetos

Tema: Arreglos de Objetos en C++.

GUIA PROGRAMACIÓN ORIENTADA A OBJETOS

Notación UML para modelado Orientado a Objetos

GUIA BASICA DE REGLETAS MATEMATICAS Aprender jugando con regletas matemáticas de Cuisenaire

INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELÉCTRICA UNIDAD CULHUACÁN INTEGRANTES

PRÁCTICAS DE GESTIÓN GANADERA:

ISTP CIDET COMPUTACION E INFORMATICA ARREGLOS EN JAVA

Tema 6. Reutilización de código. Programación Programación - Tema 6: Reutilización de código

Introducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual

INNOVACION EDUCATIVA FORMACION PARA EL TRABAJO AUXILIAR ADMINISTRATIVO

DIAGRAMA DE CLASES EN UML

En cualquier caso, tampoco es demasiado importante el significado de la "B", si es que lo tiene, lo interesante realmente es el algoritmo.

Profr. Efraín Soto Apolinar. Números reales

Programación 1. Tema II. Diseño de programas elementales. Lección 7. Diseño modular y descendente de programas

CASO PRÁCTICO DISTRIBUCIÓN DE COSTES

Plantillas de clases ( Templates )

Clases de apoyo de matemáticas Fracciones y decimales Escuela 765 Lago Puelo Provincia de Chubut

INTRODUCCIÓN AL TIPO COMPUESTO CADENA CONTENIDOS

PROGRAMACIÓN ORIENTADA A OBJETOS

Conceptos. ELO329: Diseño y Programación Orientados a Objetos. ELO 329: Diseño y Programación Orientados a Objetos

Un Navegador es un programa que nos conecta a Internet y nos permite organizar nuestro

DCU Diagramas de casos de uso

Actividad 2.- Cuento y vídeo de Ubuntu

Lección 24: Lenguaje algebraico y sustituciones

Clases y funciones amigas: friend

Estrategias de producto y precio

Programación Orientada a Objetos en Java

Tema: Clases y Objetos en C++.

PRÁCTICA N 2 SISTEMAS DE NUMERACIÓN

INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS

Curso 0 de Informática

Introducción Cómo empezar a monetizar mi blog? Porqué son tan interesantes los ingresos por sistemas de afiliados?...

VENTAJAS Y DESVENTAJAS DE LAS TECNOLOGIAS

Introducción a la Programación Orientada a Objetos

Manual para Empresas Prácticas Curriculares

Bioética y toma de decisiones en políticas públicas

MICROSOFT EXCEL Introducción: Qué es y para qué sirve Excel2007? TECNOLOGIA/ INFORMATICA: MS-EXCEL

CONTENIDOS. 1. Completar el ejemplo de Herencia: Superclase Persona-Subclase Alumno

FORMACIÓN DE EQUIPOS DE E-LEARNING 2.0 MÓDULO DE DISEÑO Y PRODUCCIÓN DE MATERIALES UNIDAD 6 B

Música. Tocar y cantar Autor: Carlos Guido

INSTITUTO TECNOLOGICO de la laguna Programación Orientada a Objetos en C++

Centro de Capacitación en Informática

Problemas fáciles y problemas difíciles. Cuando a los niños les planteamos problemas de suma y resta, Laura dejó sin resolver el siguiente problema:

Guía didáctica Adiós al chupete!

UML, ejemplo sencillo sobre Modelado de un Proyecto

GUÍA PARA LA FORMULACIÓN PROYECTOS

Cooperativa Colegio Platero Baja nº 23. El Candado. Málaga Nombre y Apellidos Curso

Curso de Doctorado: Tecnologías de Objetos

NÚMEROS NATURALES Y NÚMEROS ENTEROS

JORNADAS SOBRE ARTE, SOCIEDAD Y NUEVAS TECNOLOGÍAS Pau de Solà-Morales Serra

Prof. Dr. Paul Bustamante

guía para LOS PADRES APOYANDO A SU HIJO EN TERCER GRADO MATEMÁTICAS

Programación Orientada a Objetos en JAVA

PROYECTO: CONSTRUIMOS NUESTRO ABECEDARIO

La ventana de Microsoft Excel

Qué son los monomios?

QUÉ ES Y PARA QUÉ SIRVE UML? VERSIONES DEL LENGUAJE UNIFICADO DE MODELADO. TIPOS DE DIAGRAMAS. INGENIERÍA DEL SOFTWARE (DV00205D)

día de los derechos de la noviembre infancia

Clases y Objetos. Informática II Ingeniería Electrónica

GUIA BÁSICA DE ABSYSNET PARA PRINCIPIANTES

5.1. Organizar los roles

A25. Informática aplicada a la gestión Curso 2005/2006 Excel Tema 7. Funciones avanzadas de Excel II

Los estados financieros proporcionan a sus usuarios información útil para la toma de decisiones

Construcción social de la masculinidad

GRUPO DE ACCIÓN SOBRE LA CAPACIDAD LEGAL SEGÚN LA CONVENCION

ARCHIVOS DE SONIDO, COMUNICACIÓN ORAL Y AUTOEVALUACIÓN Elisa Bernáldez 1 Halden vgs

Boletín Mensual Programa Autismo Teletón

Cómo puede mi organización registrar plazas de trabajo?

El Supermercado. Hoy tengo que ir yo solo al supermercado a comprar un kilo de. . Voy a pasármelo bien en el supermercado.

Luis Eduardo Barón Bienvenidos al Módulo N. 3 de Internet Para Emprendedores. Yo soy Luis Eduardo Barón. Álvaro Mendoza Y yo soy Álvaro Mendoza.

Tema: Patrones de Diseño.

Modulo 1 El lenguaje Java

1. Conociendo el equipo

Base de datos en la Enseñanza. Open Office

El dominio de la oratoria, para aquellos que trabajan con la palabra,

Correspondencias entre taxonomías XBRL y ontologías en OWL Unai Aguilera, Joseba Abaitua Universidad de Deusto, EmergiaTech

9. Objetos y clases Clases

ECONOMÍA SOCIAL SOLIDARIA

Las normas de casa: todos aportamos y todos las respetamos. Tener claras las cosas que vuestra hija o hijo no puede hacer es muy 1

Programación III. 1. Facultad: Ingeniería Escuela: Computación Asignatura:Programación III I. OBJETIVOS II. INTRODUCCIÓN TEÓRICA

Funciones, x, y, gráficos

CONCEPTOS FUNDAMENTALES DE LA ORIENTACION A OBJETOS

Por qué es importante la planificación?

Para crear formularios se utiliza la barra de herramientas Formulario, que se activa a través del comando Ver barra de herramientas.

GESTIÓN DE EXCEPCIONES EN JAVA. CAPTURA CON BLOQUES TRY CATCH Y FINALLY. EJEMPLOS RESUELTOS. (CU00927C)

Cómo podemos ayudar al barrio a desarrollarse?

UTILIZACIÓN DE UNA CUENTA DE CORREO ELECTRÓNICO (NUEVO) Acceso al correo electrónico

EL FUTURO SERÁ UN REGALO DE DIOS (B )

_ Antología de Física I. Unidad II Vectores. Elaboró: Ing. Víctor H. Alcalá-Octaviano

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso

GUÍA RÁPIDA DE TRABAJOS CON ARCHIVOS.

Herramienta Solver. Activar Excel Solver

TEMA 7: DIAGRAMAS EN UML

Índice ÍNDICE EJERCICIO 1: CÁLCULO FINANCIERO (5 PTOS.) EJERCICIO 2: AGENCIA DE COLOCACIONES (5 PTOS.)...4

ZCARTAS: Iniciación a la suma y resta de números enteros Introducción Actividad 1: Escenario con cartas numeradas desde -2 hasta 2...

Transcripción:

Capítulo 6. Introducción a la POO 6. 1. Clases, Objetos y Métodos Definición La Programación Orientada a Objetos (POO) es una forma especial de programar, más cercana a cómo expresaríamos las cosas en la vida real que otros tipos de programación. Durante años, los programadores se han dedicado a construir aplicaciones muy parecidas que resolvían una y otra vez los mismos problemas. Para conseguir que los esfuerzos de los programadores puedan ser utilizados por otras personas se creó la POO. Son una serie de normas para realizar las cosas de manera que otras personas puedan utilizarlas y adelantar su trabajo, de manera que consigamos que el código se pueda reutilizar. La POO no es difícil, pero es una manera especial de pensar, a veces subjetiva de quien la programa, de manera que la forma de hacer las cosas puede ser diferente según el programador. Aunque podamos hacer los programas de formas distintas, no todas ellas son correctas, lo difícil no es programar orientado a objetos sino programar bien. Programar bien es importante porque así nos podemos aprovechar de todas las ventajas de la POO. Cómo se piensa en objetos Pensar en términos de objetos es muy parecido a cómo lo haríamos en la vida real. Por ejemplo vamos a pensar en un coche para tratar de modelizarlo en un esquema de POO. Diríamos que el coche es el elemento principal que tiene una serie de características, como podrían ser el color, el modelo o la marca. Además tiene una serie de funcionalidades asociadas, como pueden ser ponerse en marcha, parar o aparcar. Pues en un esquema POO el coche sería el objeto, las propiedades serían las características como el color o el modelo y los métodos serían las funcionalidades asociadas como ponerse en marcha o parar. Por poner otro ejemplo vamos a ver cómo modelizaríamos en un esquema POO una fracción, es decir, esa estructura matemática que tiene un numerador y un denominador que divide al numerador, por ejemplo 3/2. La fracción será el objeto y tendrá dos propiedades, el numerador y el denominador. Luego podría tener varios métodos como simplificarse, sumarse con otra fracción o número, restarse con otra fracción, etc. Estos objetos se podrán utilizar en los programas, por ejemplo en un programa de matemáticas se hará uso de objetos fracción y en un programa que gestione un taller de coches se utilizarán objetos coche. Los programas orientados a objetos utilizan muchos objetos para realizar las acciones que se desean realizar y ellos mismos también son objetos. Es decir, el taller de coches será un objeto que utilizará objetos coche, herramienta, mecánico, recambios, etc. 1

Conceptos básicos de la POO Clases en POO Las clases son declaraciones de objetos, también se podrían definir como abstracciones de objetos. Esto quiere decir que la definición de un objeto es la clase. Cuando programamos un objeto y definimos sus características y funcionalidades en realidad lo que estamos haciendo es programar una clase. En los ejemplos anteriores en realidad hablábamos de las clases coche o fracción porque sólo estuvimos definiendo, aunque por encima, sus formas. Propiedades en clases Las propiedades o atributos son las características de los objetos. Cuando definimos una propiedad normalmente especificamos su nombre y su tipo. Nos podemos hacer a la idea de que las propiedades son algo así como variables donde almacenamos datos relacionados con los objetos. Métodos en las clases Son las funcionalidades asociadas a los objetos. Cuando estamos programando las clases las llamamos métodos. Los métodos son como funciones que están asociadas a un objeto. Objetos en POO Los objetos son ejemplares de una clase cualquiera. Cuando creamos un ejemplar tenemos que especificar la clase a partir de la cual se creará. Esta acción de crear un objeto a partir de una clase se llama instanciar (que viene de una mala traducción de la palabra instace que en inglés significa ejemplar). Por ejemplo, un objeto de la clase fracción es por ejemplo 3/5. El concepto o definición de fracción sería la clase, pero cuando ya estamos hablando de una fracción en concreto 4/7, 8/1000 o cualquier otra, la llamamos objeto. Para crear un objeto se tiene que escribir una instrucción especial que puede ser distinta dependiendo el lenguaje de programación que se emplee, pero será algo parecido a esto: coche micoche ; Estados en objetos Cuando tenemos un objeto sus propiedades toman valores. Por ejemplo, cuando tenemos un coche la propiedad color tomará un valor en concreto, como por ejemplo rojo o gris metalizado. El valor concreto de una propiedad de un objeto se llama estado. Para acceder a un estado de un objeto para ver su valor o cambiarlo se utiliza el operador punto. micoche. c o l o r = r o j o ; El objeto es micoche, luego colocamos el operador punto y por último el nombre de la propiedad a la que deseamos acceder. En este ejemplo estamos cambiando el valor del estado de la propiedad del objeto a rojo con una simple asignación. 2

Mensajes en objetos Un mensaje en un objeto es la acción de efectuar una llamada a un método. Por ejemplo, cuando le decimos a un objeto coche que se ponga en marcha estamos pasándole el mensaje ponte en marcha. Para mandar mensajes a los objetos utilizamos el operador punto, seguido del método que deseamos invocar. micoche. ponerseenmarcha ( ) En este ejemplo pasamos el mensaje ponerseenmarcha(). Hay que colocar parétesis igual que cualquier llamada a una función, dentro irían los parámetros. Otros conceptos a estudiar En C++ esta sintaxis es válida cuando las propiedades de los objetos son definidas como públicas. Más adelante en la clase veremos las diferencias entre propiedades públicas y privadas. Primer Programa Orientado a Objetos En este primer ejemplo, veremos cómo se define una clase en C++, cómo se declaran sus propiedades (también conocidas como datos miembro) y métodos (también conocidos como funciones miembro). También veremos cómo se programan los métodos para establecer lo que hacen una vez que son llamados mediante mensajes. Y finalmente, veremos cómo se declara un objeto de una clase y se le manipula mediante llamadas a métodos. Diagrama de clase El diagrama de clase es una representación semi gráfica de la clase, que ayuda al programador a visualizar cuales son las propiedades y métodos que contendrá una clase o conjunto de clases en particular. En un diagrama de clase se pueden representar también relaciones entre clases. Ejemplo Diagrama de clase para persona: La clase persona consta de una propiedad o dato miembro, y cinco métodos o funciones. 3

Código fuente #include <iostream> using namespace std ; // Declaracion de l a c l a s e class persona private : char nombre [ 4 0 ] ; public : void dormir ( ) ; void hablar ( ) ; void contar ( ) ; void adquirirnombre ( ) ; void decirnombre ( ) ; ; // Declaracion de f u n c i o n e s de l a c l a s e void persona : : dormir ( ) cout <<... ZzZzZzZzZzZ... << endl ; void persona : : hablar ( ) cout <<... Bla Bla Bla Bla... << endl ; void persona : : contar ( ) cout << 1, 2, 3, 4, 5,... << endl ; void persona : : adquirirnombre ( ) cout << Soy una persona. I n g r e s e mi nombre : ; c i n >> nombre ; void persona : : decirnombre ( ) cout << Mi nombre es : << nombre << endl ; 4

// funcion p r i n c i p a l int main ( ) cout << CLASE PERSONA <<endl<<e n d l ; int r e s p u e s t a = 0 ; // Creando una persona y capturando su nombre cout << Desea c r e a r una persona? 1=Si, 0=No : ; persona p ; p. adquirirnombre ( ) ; // s i e l usuario l o desea l a persona puede d e c i r // su nombre cout << Desea que diga mi nombre? 1=Si, 0=No : ; p. decirnombre ( ) ; // El usuario decide s i l a persona habla cout << Quiere escucharme hablar? 1=Si, 0=No : ; p. hablar ( ) ; cout << Desea que vaya a dormir? 1=Si, 0=No : ; p. dormir ( ) ; cout << Desea oirme contar? 1=Si, 0=No : ; p. contar ( ) ; return 0 ; 5

Ejercicio Crear la clase coche con los siguientes atributos: marca: char[40] modelo: char[40] matrícula: char[40] Implementar las funciones miembro: adquirirmarca() adquirirmodelo() adquirirmatricula() arrancar() parar() mostrardatos() Crear un programa principal donde se cree el objeto micoche con los atributos: Marca: Seat Modelo: Ibiza Matrícula: ABC1234 y se utilicen las funciones miembro anteriores. 6