paradigma orientado a objetoscursos.iplacex.cl/ced/poo1008/s1/me_1.pdf · 2020. 12. 4. ·...

24
www.iplacex.cl PARADIGMA ORIENTADO A OBJETOS UNIDAD Nº I OBJETOS EN EL MUNDO

Upload: others

Post on 21-Jan-2021

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: PARADIGMA ORIENTADO A OBJETOScursos.iplacex.cl/CED/POO1008/S1/ME_1.pdf · 2020. 12. 4. · Paradigma Orientado a Objetos Aquí se representa la programación mediante el enfoque de

www.iplacex.cl

PARADIGMA ORIENTADO A OBJETOS UNIDAD Nº I

OBJETOS EN EL MUNDO

Page 2: PARADIGMA ORIENTADO A OBJETOScursos.iplacex.cl/CED/POO1008/S1/ME_1.pdf · 2020. 12. 4. · Paradigma Orientado a Objetos Aquí se representa la programación mediante el enfoque de

www.iplacex.cl 2

INTRODUCCIÓN

En este curso aprenderás a dar los primeros pasos que realiza un profesional del área

informática en materia de programación y para ello se hará de una manera lúdica,

mediante la experiencia del video juego, donde podrás interiorizarte en las labores del

código que desarrolla un informático y las técnicas que conjugan en su quehacer. Como

inicio de este curso mencionaremos las labores que realizan los diferentes profesionales

como: programadores, analistas e ingenieros. Por otra parte conocer - que aunque

parecen muy similares - las aplicaciones y sus categorías. Si bien es común hoy en día

tener un dispositivo móvil que contenga diversas herramientas estas podrían estar

enfocadas a distintas plataformas con fines específicos de cada usuario. Te darás

cuentas que cada software demanda una inversión de tiempo y dinero con el fin de

satisfacer una necesidad ya sea de negocios, gestión o entretención. Antes de comenzar

con el entorno de programación revisemos algunos conceptos asociados.

Semana1

Page 3: PARADIGMA ORIENTADO A OBJETOScursos.iplacex.cl/CED/POO1008/S1/ME_1.pdf · 2020. 12. 4. · Paradigma Orientado a Objetos Aquí se representa la programación mediante el enfoque de

www.iplacex.cl 3

IDEAS FUERZA

• Roles de un Profesional de Informática.

• Tipos de aplicaciones en la actualidad.

• Concepto de Paradigma Orientado a Objetos.

• Plataforma Greenfoot y su programación Java.

SEMANA 1

Page 4: PARADIGMA ORIENTADO A OBJETOScursos.iplacex.cl/CED/POO1008/S1/ME_1.pdf · 2020. 12. 4. · Paradigma Orientado a Objetos Aquí se representa la programación mediante el enfoque de

www.iplacex.cl 4

Roles de un Profesional en Informática

1. Roles de un Informático

En el campo de la informática existen diversos roles de los profesionales, por citar

algunos tenemos:

Programador computacional, es el encargado de desarrollar las aplicaciones

por un diseño normalmente dadas por un analista de sistemas o ingeniero

informático.

Analista programador, es aquel profesional encargado de recolectar la

información de los sistemas actuales que requieren una mejora dando como

resultado una nueva aplicación. Por otra parte se encarga de diseñar los módulos

que incluirá la solución.

Ingeniero informático, es el profesional capacitado para generar un diseño

estructural de una solución, también posee los conocimientos de un programador

al igual que el analista de sistemas. Por otra parte, puede coordinar grupos de

trabajos y establecer la organización requerida estableciendo las decisiones

correctas en la selección de la tecnología más adecuada para llevar a cabo un

proyecto.

En resumen, todo profesional del área Informática debe tener los conocimientos

necesarios para programar algún tipo de aplicación ya que formarán parte de una

solución automatizada mejorando la productividad de la empresa.

Page 5: PARADIGMA ORIENTADO A OBJETOScursos.iplacex.cl/CED/POO1008/S1/ME_1.pdf · 2020. 12. 4. · Paradigma Orientado a Objetos Aquí se representa la programación mediante el enfoque de

www.iplacex.cl 5

2. ¿Cuáles son los tipos de aplicaciones que encontramos en la actualidad?

Aplicaciones Web

En la actualidad encontramos diversos tipos de aplicaciones. Una de ellas son las

aplicaciones web. Debido a los bajos costos que implica tener acceso a una conexión de

Internet es posible establecer enlaces remotos de las aplicaciones de empresas y de

particulares.

Page 6: PARADIGMA ORIENTADO A OBJETOScursos.iplacex.cl/CED/POO1008/S1/ME_1.pdf · 2020. 12. 4. · Paradigma Orientado a Objetos Aquí se representa la programación mediante el enfoque de

www.iplacex.cl 6

Aplicaciones de escritorio

Son aquellas aplicaciones que es posible ejecutarlas en forma local, es decir, en un PC

o una red local. No requieren una conexión de Internet. Son muy comunes las

aplicaciones de escritorio en empresas.

Aplicaciones Móviles

Son aquellas aplicaciones que se ejecutan en algún dispositivo móvil como un

Smartphone, una Tablet, un Smartwach, entre otros.

Page 7: PARADIGMA ORIENTADO A OBJETOScursos.iplacex.cl/CED/POO1008/S1/ME_1.pdf · 2020. 12. 4. · Paradigma Orientado a Objetos Aquí se representa la programación mediante el enfoque de

www.iplacex.cl 7

3. Otro tipo de Software

Sistemas Operativos

Otros tipos de software que son muy necesarios para ejecutar tanto el dispositivo como

las diferentes aplicaciones son los llamados sistemas operativos. Estos no son

considerados aplicaciones ya que cumplen funciones de interfaz entre la máquina y el

usuario. Por otra parte, pueden incluir alguna app como accesorios del sistema, como

una calculadora, un editor de imagen, un procesador de texto, etc.

Según la definición de Tanembaum:” es el software principal o conjunto de programas

de un sistema informático que gestiona los recursos de hardware y provee servicios a

los programas de aplicación de software, ejecutándose en modo privilegiado respecto de

los restantes (aunque puede que parte de él se ejecute en espacio de usuario).”

Ejemplos de sistemas operativos podemos citar: Linux y sus distribuciones (Ubuntu,

Debian, Centos, etc), Windows y sus diferentes versiones (7,8,10), OS X de Apple,

Android, por nombrar algunos.

Dicho de otra manera, sin un sistema operativo el PC, el Smartphone, la Tablet, el

servidor prácticamente sería una “máquina muerta”.

Page 8: PARADIGMA ORIENTADO A OBJETOScursos.iplacex.cl/CED/POO1008/S1/ME_1.pdf · 2020. 12. 4. · Paradigma Orientado a Objetos Aquí se representa la programación mediante el enfoque de

www.iplacex.cl 8

Reflexionemos:

1. Si una PYME desea implementar un pequeño sistema de gestión de negocios.

¿Quién o quiénes serían los profesionales más idóneos para desarrollar el

proyecto?

2. Si una empresa requiere agregar una aplicación para administrar los horarios de

conserjes de un edificio desde cualquier lugar remoto o local ¿Qué tipo de

aplicación sugieres desarrollar?

Hasta ahora hemos descrito el rol de los profesionales en el área de la informática y los

diferentes softwares que es posible desarrollar. A continuación, revisemos algunos

conceptos con relación a la programación.

4.Programación:

Es un lenguaje que te comunica con la máquina, imagina que vas a otro país con otro

idioma, es necesario que manejes algunas reglas del idioma para poder comunicarte y

generar algún entendimiento común.

El proceso comienza por el programador, quien se encarga de crear un código fuente.

Este código es revisado por un Compilador y cuando es correcto, se produce un

Programa o Software.

Formas de Programar

Existen 3 grandes formas que un programador utiliza para crear un código.

1. Programación Estructurada:

Es un paradigma de programación orientado a mejorar la claridad, calidad

y tiempo de desarrollo de un programa de computadora, utilizando

únicamente subrutinas y 3 estructuras: secuencia, selección e iteración.

Page 9: PARADIGMA ORIENTADO A OBJETOScursos.iplacex.cl/CED/POO1008/S1/ME_1.pdf · 2020. 12. 4. · Paradigma Orientado a Objetos Aquí se representa la programación mediante el enfoque de

www.iplacex.cl 9

2. Programación Funcional:

Es un paradigma de programación declarativo basado en el uso de

funciones matemáticas.

3. Programación Orientada a Objetos:

Es un paradigma que busca representar objetos observables tangibles o

intangibles mediante su comportamiento y estados.

El lenguaje de Programación Orientado a Objetos a abordar en este curso es Java, sin

embargo, este se debe considerar como una tecnología para programar diversos

dispositivos y capaz de ejecutar en distintos sistemas operativos. Es esto último en que

radica su gran importancia.

Paradigma Orientado a Objetos

Aquí se representa la programación mediante el enfoque de los paradigmas orientado a

objetos.

Observar los objetos:

La observación de objetos se basa en identificar que representa y darle un nombre, por

ejemplo, Perro y tiene características tales como color, tipo de pelaje, a este conjunto

cuando cambia de valor en el tiempo se le llama estado, por ejemplo, el color del perro

cambia cuando está limpio.

Page 10: PARADIGMA ORIENTADO A OBJETOScursos.iplacex.cl/CED/POO1008/S1/ME_1.pdf · 2020. 12. 4. · Paradigma Orientado a Objetos Aquí se representa la programación mediante el enfoque de

www.iplacex.cl 10

Representar los comportamientos:

Los objetos tienen formas de actuar, por lo que asociar un verbo a partir de lo que hace,

crea la representación de su comportamiento.

Programar plantillas de objetos (Clases):

Cuando uno quiere representar esto en un programa, esto se hace mediante archivos

que declaran todo lo observado del objeto, a este archivo de le llama Clase.

Otro ejemplo: Hay una bicicleta como un diseño a observar (Clase), donde es posible

asignar algunos atributos tales como: marca, modelo, color, número velocidades. Por

otra parte, el estado es lo que vale un objeto o producto de este diseño, por ejemplo:

Acme, modelo BX22, rojo, 8 velocidades.

Imagen gentileza de: www.pixabay.com

¿Cuáles son los comportamientos que tendría la bicicleta?

Los comportamientos serían: avanzar, frenar, girar, caer, entre otros. Normalmente los

comportamientos están asociados a una acción o evento del objeto.

Page 11: PARADIGMA ORIENTADO A OBJETOScursos.iplacex.cl/CED/POO1008/S1/ME_1.pdf · 2020. 12. 4. · Paradigma Orientado a Objetos Aquí se representa la programación mediante el enfoque de

www.iplacex.cl 11

Reflexionemos Si presentamos un teléfono celular como una clase…

1. ¿Cuáles serían sus atributos?

2. ¿Cuál sería el estado del objeto que produciría?

3. Nombra algunos comportamientos que tendría el objeto.

5.Greenfoot

Greenfoot es un ambiente interactivo de desarrollo Java para propósitos educacionales.

Permite la creación de aplicaciones gráficas en dos dimensiones, como simulaciones y

juegos.

Lo primero que requieres es instalar Java JDK seleccionando la versión para tu sistema

operativo. No olvides aceptar el acuerdo de licencia. El link directo en la página de Oracle

es:

https://www.oracle.com/technetwork/java/javase/downloads/jdk10-downloads-4416644.html

Page 12: PARADIGMA ORIENTADO A OBJETOScursos.iplacex.cl/CED/POO1008/S1/ME_1.pdf · 2020. 12. 4. · Paradigma Orientado a Objetos Aquí se representa la programación mediante el enfoque de

www.iplacex.cl 12

Lo segundo que debes hacer, es instalar Greenfoot en tu computador. Podrás

descargarlo en el siguiente link

https://www.greenfoot.org/download

Puedes hacer click en el ícono de Windows para descargarlo y seguir las instrucciones

de instalación.

6.Interfaz de usuario de Greenfoot

Para comenzar a usar el programa, debes hacer doble click en el ícono de Greenfoot

que apareció en tu escritorio.

También puedes ir a Windows y escribir Greenfoot para buscar el programa y abrirlo.

Esta es la interfaz de Greenfoot que verás, una vez el programa este abierto.

Page 13: PARADIGMA ORIENTADO A OBJETOScursos.iplacex.cl/CED/POO1008/S1/ME_1.pdf · 2020. 12. 4. · Paradigma Orientado a Objetos Aquí se representa la programación mediante el enfoque de

www.iplacex.cl 13

Reflexionemos: 1. Para instalar Greenfoot. ¿Qué herramientas requieres instalar en tu equipo?

2. ¿En qué orden instalas las herramientas a descargar?

Page 14: PARADIGMA ORIENTADO A OBJETOScursos.iplacex.cl/CED/POO1008/S1/ME_1.pdf · 2020. 12. 4. · Paradigma Orientado a Objetos Aquí se representa la programación mediante el enfoque de

www.iplacex.cl 14

Debes crear un nuevo escenario. Para eso, debes hacer click en la parte superior

izquierda, en la pestaña Scenario

.

Se desplegará la pestaña y podrás hacer click en donde dice new Java Scenario.

Page 15: PARADIGMA ORIENTADO A OBJETOScursos.iplacex.cl/CED/POO1008/S1/ME_1.pdf · 2020. 12. 4. · Paradigma Orientado a Objetos Aquí se representa la programación mediante el enfoque de

www.iplacex.cl 15

Aparecerá esta ventana, en donde debes escribir el nombre de tu archivo, y presionar el

botón create.

Se abrirá tu nuevo proyecto y podrás ver lo siguiente:

Page 16: PARADIGMA ORIENTADO A OBJETOScursos.iplacex.cl/CED/POO1008/S1/ME_1.pdf · 2020. 12. 4. · Paradigma Orientado a Objetos Aquí se representa la programación mediante el enfoque de

www.iplacex.cl 16

Veamos una descripción de algunas de las partes de la interfaz de Greenfoot:

Clases: En este espacio se encuentran las clases de tu juego. En ellas

podrás crear a tus personajes y sus comportamientos, así como

cambiar el tamaño, apariencia y características del fondo.

Mundo: Este espacio en blanco que aparece al centro de

la interfaz se llama mundo, y es el lienzo en el que podrás

colocar las piezas de tu videojuego y verlo funcionar.

Botón Act: Este botón te permitirá ver un paso a paso de lo que está

ocurriendo en tu juego, y comprobar cómo está funcionando.

Botón Run: El botón Run hace que corra el juego, es decir, lo inicia

para que puedas jugarlo y ver su funcionamiento. A diferencia del botón

Act, no se verá el paso a paso.

Botón Reset: Este botón hará que el juego regrese a su estado inicial.

Speed: Con este control deslizante podrás

aumentar o disminuir la velocidad a la que corre tu

juego.

Page 17: PARADIGMA ORIENTADO A OBJETOScursos.iplacex.cl/CED/POO1008/S1/ME_1.pdf · 2020. 12. 4. · Paradigma Orientado a Objetos Aquí se representa la programación mediante el enfoque de

www.iplacex.cl 17

¿Qué es paradigma orientado a objetos?

Es una forma de codificación que se popularizó a mediados de los 80´.

Es una representación del mundo real a través de objetos prediseñados.

Estos objetos ofrecen funcionalidades particulares para resolver un problema.

¿Qué es un objeto?

Un objeto es una entidad, que tiene sus propias características y comportamientos.

Un objeto en Java es el producto de una clase pensando en que esta última es un diseño.

Aquí tenemos algunos ejemplos de objetos:

¿Qué es una clase?

Es una serie de atributos y métodos que definen comportamientos en los objetos.

Es decir, es un diseño, un molde, que puede producir uno o muchos objetos.

Page 18: PARADIGMA ORIENTADO A OBJETOScursos.iplacex.cl/CED/POO1008/S1/ME_1.pdf · 2020. 12. 4. · Paradigma Orientado a Objetos Aquí se representa la programación mediante el enfoque de

www.iplacex.cl 18

¿Qué es un método?

Es un comportamiento que tiene un objeto.

Una clase puede tener muchos métodos.

Se pueden activar en el momento y orden deseado para controlar el comportamiento del

objeto.

Pensemos en un ejemplo:

Imagina que tienes la clase Vehículo. Sus características (atributos) podrían ser que

tiene ruedas y pedales. Sus comportamientos (métodos) pueden ser acelerar o frenar.

A partir de esta descripción, podrías crear varios vehículos diferentes, que compartan

estas características. Por ejemplo, un auto, una camioneta o un furgón.

Page 19: PARADIGMA ORIENTADO A OBJETOScursos.iplacex.cl/CED/POO1008/S1/ME_1.pdf · 2020. 12. 4. · Paradigma Orientado a Objetos Aquí se representa la programación mediante el enfoque de

www.iplacex.cl 19

7. Crear clases en Greenfoot

Ahora que ya sabes lo que son los Objetos, Clases y Métodos, puedes crearlos y ver

cómo funcionan en Greenfoot para comenzar a hacer tu propio videojuego.

Para crear una nueva clase en Grennfoot, debes hacer click derecho en la clase Actor

que ya viene por defecto al crear tu proyecto. Al desplegarse una ventana, debes elegir

la opción New subclass. Al elegir esta opción, crearás una subclase de la clase Actor.

Esto significa, que tu nueva clase será una extensión de Actor y heredará sus métodos.

Luego verás una ventana en que podrás colocarle un nombre a tu clase y elegir una

imagen de ícono. Recuerda que, en Java, los nombres de las clases deben escribirse

siempre con la primera letra mayúscula.

Reflexionemos:

1. Si queremos ejecutar una escena de video juego en Greenfoot. ¿Qué botón

debemos presionar?

2. Se desea reiniciar el proyecto de video juego en Greenfoot ¿Cuál es el botón

adecuado a presionar?

Page 20: PARADIGMA ORIENTADO A OBJETOScursos.iplacex.cl/CED/POO1008/S1/ME_1.pdf · 2020. 12. 4. · Paradigma Orientado a Objetos Aquí se representa la programación mediante el enfoque de

www.iplacex.cl 20

Una vez este creada tu clase, podrás verla de esta forma:

Ya que la clase ha sido creada, ahora podrás instanciarla en el escenario. Esto quiere

decir que puedes colocar a tu personaje en el mundo de Greenfoot para observarlo y ver

su comportamiento, pero, además, ya que es una instancia, puedes copiarlo las veces

que quieras, y tener a muchos personajes en el escenario.

Para instanciar la clase, primero debes hacer click derecho sobre la clase que creaste y

seleccionar la opción new persona(). Al hacer esto, aparecerá el ícono que seleccionaste

para tu clase, y podrás arrastrarlo con el mouse y dejarlo en el mundo, en la posición que

desees.

Page 21: PARADIGMA ORIENTADO A OBJETOScursos.iplacex.cl/CED/POO1008/S1/ME_1.pdf · 2020. 12. 4. · Paradigma Orientado a Objetos Aquí se representa la programación mediante el enfoque de

www.iplacex.cl 21

Veamos el código

Pasaremos a ver el código fuente que se encuentra

dentro de nuestro personaje, con el que podremos

controlar su comportamiento.

Para entrar al código de la clase que has creado, debes

hacer doble click sobre la clase.

Al hacerlo, se abrirá otra ventana con el código que

contiene esta clase.

Si revisas la imagen superior existe una clase Persona la cual internamente puede

contener algunos atributos que representen características. Por otra parte, incluiría

métodos que permitan una acción a los objetos que genere esta clase. Los objetos a

crear representarían los diferentes personajes a colocar en el mundo de Greenfoot.

Page 22: PARADIGMA ORIENTADO A OBJETOScursos.iplacex.cl/CED/POO1008/S1/ME_1.pdf · 2020. 12. 4. · Paradigma Orientado a Objetos Aquí se representa la programación mediante el enfoque de

www.iplacex.cl 22

Este código aparece por defecto al crear una clase. Si te fijas, ya existe un método que

se encuentra vacío, llamado act(). Este método es el encargado principal de controlar el

comportamiento de esta clase, y es aquí en donde podrás escribir todas las acciones

que deseas que realice. El método act se ejecuta automáticamente al momento de que

le pongas play al juego, y se repite una y otra vez de forma cíclica.

Reflexiona:

1. ¿Por qué es importante escribir una correcta clase?

2. ¿Qué es un objeto?

3. ¿Qué son los atributos de una clase?

Page 23: PARADIGMA ORIENTADO A OBJETOScursos.iplacex.cl/CED/POO1008/S1/ME_1.pdf · 2020. 12. 4. · Paradigma Orientado a Objetos Aquí se representa la programación mediante el enfoque de

www.iplacex.cl 23

CONCLUSIONES

El informático al momento de dirigir su área debe determinar con qué recursos cuenta y

a cada uno de ellos asignarles una labor. Debe precisar el rol que va a desplegar uno de

ellos en el equipo de trabajo que debe formar, por tanto, es muy importante que el

informático tenga en claro los conceptos y manejo de ellos, para hacer que su área

cumpla con la meta asignada.

Dentro de la estructura de cualquier empresa, sea pequeña, mediana o grande se ha

vuelto importante el hecho de incluir el manejo e implementación de nuevas tecnologías

para automatizar sus procesos de producción, manejo de personal, administración,

capacitaciones, etc. Por tal razón cuando ocurre un problema dentro de la

función informática en una empresa por ejemplo, todas las actividades que están

relacionadas con el sistema, resultan afectadas, he ahí la importancia de tener una buena

cultura informática y saber prevenir cualquier contingencia que se presente, para así no

tener complicaciones de perder información importante para el tipo de organización

donde se utilice la función informática.

Page 24: PARADIGMA ORIENTADO A OBJETOScursos.iplacex.cl/CED/POO1008/S1/ME_1.pdf · 2020. 12. 4. · Paradigma Orientado a Objetos Aquí se representa la programación mediante el enfoque de

www.iplacex.cl 24