INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS



Documentos relacionados
Porcentajes. Cajón de Ciencias. Qué es un porcentaje?

Capítulo 6. Introducción a la POO

INSTALACION DEL Terminal Services. Instalamos el Terminal Services. Siguiente. Nos saldrá una advertencia, seleccionamos instalar.

UNIDAD 1. LOS NÚMEROS ENTEROS.

Cómo crear experiencias de cliente con Social Media. Whitepaper

Ecuaciones de primer grado con dos incógnitas

5 razones por las que NO DEBERÍAS ABRIR UNA TIENDA ONLINE

LA OLA. Cinco cuentos para leer en voz alta. Autor: Antonio Pons

DEPARTAMENTO DE EDUCACIÓN FÍSICA CURSO 2011/2012

Practica A. Crear y Administrar Grupos

Divido la barra de helado en ocho partes iguales. De esas ocho partes tomo seis. Parte de la barra que reparto a mis amigos :

Búsqueda booleana en Internet

Divisibilidad y números primos

Grupos públicos y grupos identificados

MANUAL DE AYUDA MODULO TALLAS Y COLORES

Ejercicios de futuro, condicional y presente de subjuntivo. 1.Termina el texto conjugando los verbos entre paréntesis o en el

MANUAL DE USUARIO DE LA APLICACIÓN DE ACREDITACION DE ACTIVIDADES DE FORMACION CONTINUADA. Perfil Entidad Proveedora

En lugar de anuncios; medicina! Andrés F. Muñoz Esquivel.

Habilidad: Pedir disculpas. Categoría: Habilidades básicas de interacción social.

ENTREVISTA PARA PADRES DE FAMILIA PRÁCTICAS DE CRIANZA Y CALIDAD DE VIDA

Control Remoto de Ordenadores: Por Manuel Murillo García

15 CORREO WEB CORREO WEB

1.- Inicia outlook y busca el menu herramientas, despues de eso darle click

CUESTIONARIO PARA DETECTAR NECESIDADES DA CAPACITACIÓN EN IMPRENTA ECONOMICA S. A. DE C. V.

USO DEL COMANDO. Fdisk. Autor :. Alejandro Curquejo. Recopilación :. Agustí Guiu i Ribera. Versión :.. 1.0

Misión. En este lugar se disfrutara, de un momento de relajación en nuestro reconocido Spa; donde seguro encontrarán el

Unidad I. 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal)

Acceder a correo de 1000tentaciones.com a través de web.

AGREGAR UN EQUIPO A UNA RED Y COMPARTIR ARCHIVOS CON WINDOWS 7

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

REALIDAD DE LA FE. Capítulo 1 Tienen un corazón lleno de fe

Azul o Rosa? Fernanda González Viramontes

OFICINA VIRTUAL SAE Minitutorial

LIBRO DE PRESENTACION

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

TUTORIAL DE LinkedIn. Proyecto Empleo 2.0

EQUIPAJES: RESPUESTAS

Imaginemos El restaurante para desayunos

3 Errores fatales que cometen muchos autónomos

MANUAL BASICO DE WEBEX

L204 DVD-ROM 1 Audio transcripts: Unidad 1

Para crear una actividad, pulsamos sobre la pestaña actividades

CÓMO ENTRAR EN ALEXIA

QUÉ SIGNIFICA CREER?

Herramientas de Transformación Efectiva.

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

Hablemos de RESULTADOS de los últimos años por un segundo. He estado:

1.- Os gusta viajar? Os consideráis personas viajeras? Habla. con tu compañero y cuéntale el último viaje que hiciste (dónde

Manual de uso de la plataforma para monitores. CENTRO DE APOYO TECNOLÓGICO A EMPRENDEDORES -bilib

Si no tenemos ningún sistema cargado trabajaremos desde el paso 2

ACERCA DEL COACHING. Acerca del Coaching Página 1/5

Plataforma Educativa Web Tec

Gracias a ese IP único que tiene cada ordenador conectado a la red de internet se pueden identificar y comunicar los ordenadores.

Funciones, x, y, gráficos

desde entreculturas te proponemos abrir el c razón...

Día 34: Dar los regalos de Dios

DESARROLLO DE LA INTELIGENCIA FINANCIERA. Inteligencia Financiera Sin Límites TEMA: PROGRAMA DE ELIMINACIÓN DE DEUDAS DIPLOMADO

[MANUAL DE PUBLICACION DE UNA WEB EN MIARROBA]

Apéndice A Instalación de Visual Studio.NET

así somos, así pensamos...

Vamos a imaginar Ir al dentista

Introducción a la programación orientada a objetos

Cobian Backup. Inguralde [Enero 2011]

Crear usuario en XP. Redes Paso a Paso. Introducción Explicación Paso 1 Paso 2 Paso 3 Paso 4 Paso 5 Paso 6 Paso 7 Paso 8 Paso 9 Paso 10. Descripción.

CURSO RÁPIDO DE PHOTOSHOP APLICADO AL SLOT

QUE DA. Parte 1. nosotros). Tienes gripa,

CURSO TECNOLOGÍA TECNOLOGÍA 4º ESO TEMA 5: Lógica binaria. Tecnología 4º ESO Tema 5: Lógica binaria Página 1

Facturación Automática de Ventas WhitePaper Noviembre de 2006

DIPLOMA DE ESPAÑOL. NIVEL INICIAL 23 de mayo de 2008

ESTÁNDAR DESEMPEÑO BÁSICO Recopila información, la organiza y la procesa de forma adecuada, utilizando herramientas tecnológicas.

Empresas familiares: Cuadro de Mando Integral para Pymes

TUTORIAL PRÁCTICO DE BASES DE DATOS EN ACCESS CREAR UNA AGENDA

NOSOTROS TAMBIÉN UNA FAMILIA QUE CAMINA

Combinar correspondencia (I)

Haz tu propio museo. Qué es un museo y para qué sirve

CONFEDERACIÓN DE EMPRESARIOS DE MÁLAGA

CLASE #5: LOS PENSAMIENTOS Y EL ESTADO DE ÁNIMO

Nueve Bloques de Un Modelo de Negocio Plan Presto!

Ejercicios resueltos: fracciones y decimales

Tutorial PowerPoint. Crear una nueva presentación

MARTIN JARAMILLO PINO Proyecto Final Programación, creatividad y solución de problemas con Scratch

Manual de usuario. Autor: Oriol Borrás Gené.

TUTORIAL: LA ESCUELA DE PACIENTES EN LAS REDES SOCIALES

Bloque de Experiencias YO Y MI COLEGIO

GUÍA RED SOCIAL FACEBOOK

Reestructurando la vida después del divorcio

Matemáticas Propedéutico para Bachillerato. Introducción

Si quieres, te enseño mi pueblo!

LÍMITES Y CONTINUIDAD DE FUNCIONES

FRACCIONES. Una fracción tiene dos términos, numerador y denominador, separados por una raya horizontal.

GUIA PARA GENERAR PROSPECTOS Y VENTAS EN WEB

Pero lo que más le gusta a Lea es leer, lo hace en todos los sitios, siempre lleva un bolsito colgado con un libro de cuentos, o de animales.

Lección 9: Polinomios

CUESTIONARIO SOBRE INTIMIDACIÓN Y MALTRATO ENTRE IGUALES (SECUNDARIA)

Transcripción:

INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Luis José Sánchez González

1. QUÉ ES LA POO? La programación orientada a objetos es una forma de programar que se basa en la utilización de objetos. 2. QUÉ SON LOS OBJETOS? Un objeto en términos de POO no se diferencia mucho de lo que conocemos como un objeto en la vida real. Pensemos por ejemplo en un coche. Nuestro coche sería un objeto concreto de la vida real, igual que el coche del vecino, o el coche de un compañero de trabajo, o un deportivo que vimos por la calle el fin de semana pasado... Todos esos coches serían objetos concretos que podemos ver y tocar. Usando la terminología de la POO diríamos que son instancias. 3. CLASES Tanto mi coche como el coche del vecino tienen algo en común, ambos son coches. En este caso mi coche y el coche del vecino serían instancias y coche (a secas) sería una clase. La palabra coche define algo genérico, es una abstracción, no es un coche concreto sino que hace referencia a algo que tiene una serie de propiedades como matrícula, marca, modelo, color, etc. Este conjunto de propiedades se denominan. Podríamos esquematizar este ejemplo de la siguiente manera: definición de la clase coche matricula marca modelo color numero_de_plazas fin de la definición de coche crea mi_coche como instancia de la clase coche crea coche_de_vecino como instancia de la clase coche crea furgo1 como instancia de la clase coche crea furgo2 como instancia de la clase coche crea tartana como instancia de la clase coche

Ejercicios 1. Cuáles serían los de la clase piloto de fórmula 1? se te ocurren algunas instancias de esta clase? Define la clase y crea algunas instancias, todo ello en pseudocódigo, igual que hemos hecho en el ejemplo anterior. 2. A continuación tienes una lista en la que están mezcladas las clases con las instancias. Di cuáles son las clases, cuáles las instancias y a qué clase pertenece cada una de estas instancias: goofy, gardfiel, perro, caballo, tom, silvestre, rocinante, milu, snoopy, gato, pluto, bucefalo, pegaso, ayudante_de_santa_claus, laika 3. Cuáles serían los de la clase gato? Defínelos utilizando pseudocódigo. Crea las instancias de la clase gato que aparecen en el ejercicio anterior. 4. Piensa en la liga de baloncesto, qué 5 clases se te ocurren para representar 5 elementos distintos que intervengan en la liga?

4. MÉTODOS De qué nos sirven los objetos si no podemos hacer nada con ellos? Un coche lo podemos arrancar, parar, aparcar, podemos hacer que suene el claxon, podemos llevarlo a reparar... Un gato puede comer, dormir, maullar, ronronear... A las acciones que se pueden realizar con las instancias se llaman métodos. Una parte importante de la definición de una clase consiste en la definición de dichos métodos. Vamos a ampliar nuestro primer ejemplo con algunos métodos: definición de la clase coche matricula : marca : modelo : color : numero_de_plazas : número entero métodos arranca para anda pita gira fin de la definición de coche eleonor = coche.crear eleonor.arranca eleonor.pita eleonor.anda(200) eleonor.gira(45) eleonor.anda(100) eleonor.para #crea eleonor como instancia de la clase coche Hemos definido la clase coche especificando los (indicando también el tipo al que pertenece cada uno de esos ) y hemos especificado los métodos de la clase. Lógicamente, si queremos que un programa funcione bien deberemos definir bien qué es lo que hace cada método, cosa que no hemos hecho en este ejemplo. A continuación se ha creado una instancia de la clase coche con nombre eleonor. Hemos arrancado el coche, ha pitado, ha recorrido 200 metros, después ha girado 45 grados, ha continuado otros 100 metros y por último ha parado el motor. A aplicar un método también se le suele llamar mandar un mensaje. Si tenemos eleonor.arranca podemos decir que le estamos aplicando el método arranca a la instancia eleonor, o también que estamos mandando un mensaje a la instancia eleonor diciendo que arranque. Como te habrás dado cuenta ya, en POO debemos centrar nuestra atención en la definición de las clases. El programa en sí saldrá solo si tenemos las clases bien definidas.

Ejercicios 5. Crea en pseudocódigo la clase caballo, incluyendo los y los nombres de algunos de los métodos. Crea también varias instancias (puedes utilizar los ejemplos del ejercicio 2) y realiza algunas acciones con esas instancias, es decir, aplícale los métodos a las instancias. 6. Crea en pseudocódigo la clase alumno. Sería nombre uno de los de la clase? Razona tu respuesta. 7. Crea en pseudocódigo la clase pájaro. Crea varias instancias y aplícales algunos métodos. Vamos a volver sobre uno de los ejercicios anteriores, concretamente sobre aquel que nos pedía crear la clase gato. Vamos a crear esta clase con los y métodos correspondientes. definición de la clase gato raza : color : sexo : "macho" o "hembra" permitir el acceso al atributo sexo métodos maullar muestra "Miau miau" fin maullar ronronear muestra "mrrrrrr" fin ronronear comer (comida) si comida == "pescado" muestra "Hmmm, gracias" si no muestra "Lo siento, yo sólo como pescado" fin si fin comer pelear(contrincante) si @sexo == "hembra" muestra "No me gusta pelear" si no si contrincante.sexo == "hembra" muestra "No peleo contra gatitas" si no muestra "Ven aquí que te vas a enterar" fin si fin si fin pelear fin de la definición de gato

garfield = gato.crear garfield.sexo = "macho" garfield.maullar garfield.ronronear garfield.comer("tortilla de patatas") garfield.comer("pescado") tom = gato.crear garfield.sexo = "macho" tom.comer("sopa de verduras") lisa = gato.crear lisa.ronronear lisa.sexo = "hembra" # concierto de gatos garfield.maullar tom.maullar lisa.maullar # vamos a ver si se pelean garfiel.pelear(lisa) lisa.pelear(tom) tom.pelear(garfield) Hemos tenido que acceder directamente al atributo sexo para indicar si el gato que creamos es macho o hembra y para ello hemos tenido que permitir previamente el acceso a este atributo. Normalmente esto resulta poco elegante. Estaría mejor indicar el sexo del gato en el momento de crearlo, para ello definiremos el constructor de la clase gato que es el método crear. definición de la clase gato raza : color : sexo : "macho" o "hembra" métodos crear (genero) @sexo = genero fin crear de_que_sexo devuelve @sexo fin_de_que_sexo # El resto de métodos se dejaría igual fin de la definición de gato garfield = gato.crear("macho") tom = gato.crear("macho") lisa = gato.crear("hembra")

muestra "Garfield es " muestra garfield.de_que_sexo muestra " y Lisa es " muestra lisa.de_que_sexo Ejercicios 8. Crea en pseudocódigo la clase fracción. Obviamente, los serán numerador y denominador. Y algunos de los métodos pueden ser invertir, simplificar, multiplicar por un número, dividir entre un número, etc. 9. Crea la clase ventana, no es necesario definir los métodos, sólo escribir los nombres. Piensa en las propiedades y en el comportamiento de una ventana de cualquier programa.