Sie sind auf Seite 1von 79

WORKING ADULT

TCNICAS DE PROGRAMACIN
ORIENTADA A OBJETOS
PRIMERA UNIDAD: FUNDAMENTOS DE PROGRAMACIN ORIENTADO A
OBJETOS Y RELACIONES BSICAS ENTRE CLASES
Semana 01:

1. Presentacin del Slabo del Curso.


2. Paradigma Orientado a Objetos.
3. Fundamentos POO Java
4. Principales sentencias Java
5. Introduccin a la POO.

Ing. Amadeo Gonzlez Glvez


Amadeo.gonzalez@upn.pe
Facultad de Ingeniera
Carrera Ingeniera de Sistemas Computacionales
ACTIVIDADES DE LA SESIN
Retrospectiva Nuestra Carrera

Introduccin.
Nosotros, el curso y revisin del Slabo.

Desarrollo de la sesin, dinmica de trabajo y normas de convivencia.

Evaluacin: Parcial Trabajo de Campo - Proyecto Final.

Unidad 1: Semana 01
Motivacin: Videos y Discusin.

Teorizacin: 1: Presentacin del slabo del curso, 2. Paradigma Orientado a


Objetos, 3: Principales sentencias Java, 4: Fundamentos de POO Java y 5:
Introduccin a la POO.

Evaluacin: Desarrollo de Ejercicios.

Reflexin: Qu aprendimos hoy da?

Tarea siguiente semana: Actividad de Transferencia.


RETROSPECTIVA
RETROSPECTIVA HASTA EL 2016
Introduccin:
Presentacin del Estudiante
(Nombre, Empresa,
Experiencia Laboral y
Expectativas)
PRESENTACIN DEL CURSO

Introduccin al curso (sumilla):


El curso de Tcnicas de Programacin Orientada a Objetos tiene como propsito
fundamental brindar los conocimientos del Paradigma Orientado a Objetos
aplicados a la programacin, desarrollando en el estudiante la capacidad de
implementar modelos de clases en un lenguaje de programacin orientado a
objetos.

Los temas principales son: fundamentos de programacin orientado a objetos y


relaciones bsicas entre clases, relaciones de clases de herencia simple y mltiple,
controles AWT y componentes Swing
Logro del curso:
Al finalizar el curso, el estudiante implementa un proyecto, aplicando el paradigma
de programacin orientado a objetos, utilizando el Lenguaje Java, demostrando
lgica, habilidad, legibilidad y buenas prcticas en la implementacin.
METODOLOGA
Exposicin del docente.
Exposicin de participantes.
Trabajo de campo grupal.
Debate en clase.
Desarrollo de casos y hechos reales.

RECURSOS
Presentaciones en PPT.
Lecturas de anlisis de libros y artculos.
Plantillas de trabajo en modalidad taller.
Programas informticos.
Videos: Multimedia interactivo para el auto-aprendizaje

MATERIALES
Plumones.
Cds.
Hojas bond.
PROYECTO TRABAJO DE CAMPO

Entregables

Documentacin y el
Sistema (fuentes)
SUSTENTACIN PROYECTO

SEMANA 08
PRESENTACIN DEL SILABO
CONSEJOS

ASISTIR siempre y NO LLEGAR, tarde a clases.

COMPROMETERSE.

PREGUNTAR, si no entiende algo.

COMPARTIR lo que usted ya sabe y trabaje en equipo.

CUMPLIR con las tareas y/o trabajos asignados en la fecha indicada.

REFLEXIONE lo aprendido en clases.


Antes de empezar el presente ciclo es muy importante
recordar que
1. Todos quienes participamos en esta clase somos iguales; queremos ser mejores,
somos muy importantes.
2. Los apellidos, honores, mritos, etc., se quedan en la puerta de la entrada. Aqu,
antes que cualquier vanidad, somos seres humanos, hombres y mujeres con
limitaciones y muchas posibilidades.
3. Todos podemos aprender de todos, y todos podemos ensear a todos.
4. Nadie da rdenes a nadie. El profesor sugiere, fomenta y promueve un microclima
afectivo de respeto y consideracin mutua.
5. Tratamos de no complicarnos la vida: hacemos las cosas lo ms sencillo posible.
Las grandes cosas son sumamente sencillas.
6. Tratamos de mantener la mente abierta; procuramos no prejuzgar. Recuerda que
no eres ni ms ni menos que nadie; aqu todos aprendemos.
7. Sembramos nuestros propios jardines y adornamos nuestra propia alma, en vez
de esperar que alguien nos traiga flores.
8. Todo compromiso aqu establecido se respeta, porque cada uno de nosotros es el
resultado de sus acciones.
9. Los trabajos grupales desarrollan una competencia transversal de la UPNC; sin
embargo, el estudiante puede solicitar la consideracin del docente cuando el
trabajo grupal no sea pertinente.
DINMICA DE TRABAJO Y REGLAS
BASICAS
EVALUACIONES

Las variables que se consideran para las evaluaciones sern las siguientes:
Semana 4 Todas Semanas Semana 8
30% 30% 40%

Participacin Examen Promedio Trabajo de Participacin Presentacin Promedio


en Clases Parcial Campo en Clases del Trabajo Final
Prctica Final
1-20 1-20 40/2=X 1-20 1-20 1-20 40/2=X
S3+S5+S6+S7

SE APRUEBA CON 12
LO PRIMERO
ELECCIN DE LOS DELEGADOS DEL CURSO
(PRIMERA SEMANA DE CLASES)
El delegado del curso es el (los) estudiante (es) que voluntariamente participen en el
desarrollo del curso.
El estudiante voluntario o propuesto tendr que exponer las razones en su eleccin
como delegado y se har una votacin de ser varios postulantes

PERFIL (No acadmico)


Empata Respeto Tolerancia Puntualidad Negociacin

FUNCIONES (Acadmicas)
Representar a sus compaeros y al docente (Rol mediador)
Participar de las reuniones de delegados programadas por la direccin de escuela
Trasladar al resto de compaeros la informacin oportuna sobre los asuntos
acadmicos
Apoyar al docente en las evaluaciones acadmicas (filtro)

BENEFICIOS
Apoyo y asesora constante en la formacin acadmica del estudiante
ELECCIN GRUPO DE TRABAJO DE CAMPO

DINMICA (30 minutos)


Formacin de grupos (3-5 integrantes)
Presentacin personal y seleccin de tema de trabajo (10min)
Responder a la pregunta: (10min)
Nuestro tema de trabajo es alcanzable?
Presentacin del tema de trabajo y grupo de trabajo en formato
Infografa.
nicamente el delegado de equipo, crear los archivos y
lo compartir con el docente (amadeo.gonzalez@sba.pe)
y sus integrantes de equipo de aula.

Los avances del trabajo de campo se publicarn al finalizar


cada semana en el aula virtual, y sern calificadas

El trabajo de campo finaliza en la semana siete, pasada la


fecha el integrante que adicione informacin, no ser
considerada.
ESTAMOS LISTOS
PARA INICIAR?
MOTIVACIN

La programacin orientada a Objetos llega al Per, entre los aos 1993 y 1996, a universidades como
San Marcos y la UNI. Estas impulsaron el estudio de los objetos y sus relaciones basado en el lenguaje
C++ que, en aquellos tiempos, concit toda una novedad como heredero del lenguaje C.
MOTIVACIN

Interfaz de Usuario: Finalidad de capturar la pregunta o requerimiento que viene del usuario o actor.
Lgica de Negocio: Contiene los servicios u operaciones que el sistema puede realizar.
Acceso a datos: Interacta con el repositorio de informacin externo, a fin de traer los datos
necesarios para que la lgica de negocio pueda procesar.
Qu es programacin
Orientada a Objetos?
LOGRO DE LA SESION

Al finalizar la sesin, el estudiante reconoce la importancia


de las Clases y Objetos en el mbito de la Programacin
Orientada a Objetos y relaciona esta tecnologa con el
Lenguaje de POO Java, desarrollando ejercicios usando el
el IDE Netbeans.
TEMAS A DESARROLLAR DE ACUERDO A SILABO
POO - PARADIGMA
Nace como una nueva propuesta a la crisis del software.

Permite:

Reutilizacin de componentes.

Reduccin del costo del software.

Acercamiento del computador a la realidad.

Proyeccin de los objetos reales en objetos computacionales.

Modelar Problemas Reales?

La programacin orientacin a objetos sera la ms apropiada!!!


POO - PARADIGMA

El sistema se modela como un conjunto de objetos que


intercambian mensajes para realizar tareas.
Datos y lgica encapsulados en clases

o1 o4 o3
O1.abrir()
O4.leer()
POO - PARADIGMA
ABSTRACCIN: Capacidad para abstraer las caractersticas
comunes que poseer un grupo de objetos existentes en la
naturaleza del sistema.

Conclusin:
La utilizacin del paradigma de abstraccin permite la
existencia de la notacin conocida con el nombre de clase.
POO - PARADIGMA
ENCAPSULAMIENTO: es un mecanismo que consiste en
organizar datos y mtodos de una estructura, conciliando el
modo en que el objeto se implementa, es decir, evitando el
acceso a datos por cualquier otro medio distinto a los
especificados.

Conclusin:
Hacer privadas las variables que son innecesarias para el
tratamiento del objeto.
POO - PARADIGMA
HERENCIA: conocida como extensin o generalizacin en
UML, permite que una nueva clase pueda usar los atributos y
mtodos de la clase inicial.

Conclusin:
Reutilizacin.
POO - PARADIGMA
POLIMORFISMO: el cual se aplica a un mtodo u operacin
que puede adoptar diferentes formas de implementacin, de
tal forma manera que externamente puede parecer una sola
operacin, pero en el interior de la clase puede ser varias con
el mismo nombre.

Conclusin:
Se pueden crear versiones diferentes de la misma operacin.
FUNDAMENTOS
Abstraccin: Extraccin de las caractersticas esenciales de algo, ignorando
detalles superfluos.
En POO: cada objeto INTERACTUA con otros objetos en el sistema sin
revelar sus caractersticas.
Encapsulacin: "ocultacin de la informacin". se ocultan los detalles de
implementacin regla de negocio.
En POO: utiliza una interfaz para poder interactuar con los objetos de la
clase.
Modularidad: descomposicin de un sistema en un conjunto de mdulos
En POO: funciones y mtodos, como clases y paquetes.
Jerarqua: estructuracin para organizar un conjunto de elementos en grados
o niveles de responsabilidad, de incumbencia o de composicin entre otros.
En POO: El ms claro ejemplo de jerarqua es la herencia.
EJEMPLOS DE JERARQUA
Profesor
Clasificacin:

Titular Asociado Asistente Instructor

Composicin
Asistente B Asistente A

Universidad

Facultades Rectora Administracin

Departamentos Escuelas Personal Contabilidad


CARACTERSTICAS DE LOS OBJETOS
Los objetos encapsulan elementos tales como variables permitiendo acceso a ellas
nicamente a travs de sus mtodos:
Variables (de instancia/de clase): Contenedores de valores.
Mtodos:
Definicin de una operacin de una clase.
Contenedores de funciones.
Nombre de la Clase
Definicin de
-Atributo 1 las variables
de instancia de
-Atributo 2 la clase

-Mtodo 1 Definicin de
-Mtodo 2 Las operaciones
-Mtodo 3 Implementadas
En mtodos

Estado: representado por el contenido de sus variables de instancia y de clase.

Comportamiento: definido por sus mtodos.

Objeto = Identidad + Estado + Comportamiento


CMO SE ESTRUCTURA UNA CLASE?
Cada clase consiste de:
Un nombre y el nombre de la (s) clase (s) que extiende y de la
interface (en el caso de Java) que implementa:
Una lista de declaraciones de atributos (variables de instancia, de
clase y finales).
Una lista de declaraciones de mtodos.
Por cada mtodo se especifica:
Tipo de dato que retorna.
Nombre.
Parmetros formales (parmetros de entrada y salida).
Cuerpo (cdigo).
El constructor es un mtodo (funcin o rutina) especial que se invoca
cuando se crea un objeto.
El constructor reserva memoria para el nuevo objeto (proceso de
asignacin dinmica de memoria) e inicializa sus variables de instancia.
Un mtodo es una implementacin particular de una operacin.
CARACTERSTICAS DE JAVA
SIMPLE: No poseer archivos de cabecera, la ausencia de
punteros, no tener que gestionar la memoria y disponer de
una extensa y surtida lista de libreras, tambin presenta
menos estructuras de programacin.
ORIENTADO A OBJETOS: Lenguaje plenamente orientado a
Objetos.
DISTRIBUIDO: Implantacin definitiva del modelo WA sobre
el modelo LAN. (Librera java.net provee acceso a recursos
externos y remotos), accesos mediante web services.
CARACTERSTICAS DE JAVA
ROBUSTO: resiste errores, Java simplifica la labor de
programar software robusto.
SEGURO: Seguridad basado en excepciones y llamadas
indirectas a los servicios del sistema operativo nativo.
PORTABLE: La portabilidad implica que el sistema basado
en Java podr ser ejecutado en cualquier entorno operativo
independiente en su entorno de programacin.
DINMICO: Diseado para adaptarse a entornos en
evolucin. Las libreras pueden aadir nuevos mtodos y
atributos a sus clases, adems de escalable.
PRINCIPALES CARACTERSTICAS
ESCABILIDAD: existe una carpeta que permite agregar
libreras externas construidas por diferentes programadores.
ARQUITECTURA NEUTRA: la aplicacin resultante puede
ejecutarse en cualquier sistema operativo y en cualquier otra
mquina, inclusive heterognea.
PRINCIPALES CARACTERSTICAS
GARBAGE COLLECTOR: algoritmo implementado en Java,
establece la creacin de un proceso que se ejecuta
recorriendo la memora del usuario y revisando los objetos que
estn siendo utilizados en ese momento.
LIBRERA BASE: Cuenta con libreras bases: java.lang,
java.io, java.net, java.util, java.awt.
MQUINA VIRTUAL: de esta forma es posible correr un
programa en una arquitectura y sistema operativo
determinados sin modificaciones al programa original.
Teamwork

En grupos de trabajos desarrollar


una infografa que muestre la
Evolucin de Java. (Origen,
versiones, su uso)
LA SUITE JAVA
LA SUITE JAVA
ANATOMA DEL PROGRAMA
CONTEXTO
VEAMOS LAS SIGUIENTES
IMGENES
CLASES, OBJETOS Y PROGRAMAS

Un programa escrito en un lenguaje orientado a objetos


contiene instrucciones que:
Definen clases.
Crean objetos (instancian clases).
Invocan a funciones miembro de otros objetos.
Destruyen objetos cuando no son necesarios.

La unidad fundamental de programacin OO son las


clases.
CLASES VS. OBJETOS
Objetos:
Instancias de clases
Clase

Sellador
Sello
CUNTAS CLASES OBSERVA?
LA RELACIN ENTRE CLASES Y
OBJETOS
Una clase es una definicin abstracta de un objeto
Define la estructura y el comportamiento de cada
objeto en la clase
Sirve como modelo para la creacin de objetos
Los objetos pueden ser agrupados en clases

Profesor

Objetos Profesor de Profesor de Profesor de


Matemticas Ingls Diseo Clase
LA RELACIN ENTRE CLASES Y
OBJETOS

Tecnologa OO: POO, AOO, DOO


Para entender este modelo vamos a revisar 4
conceptos bsicos:
- Objetos - Herencia
- Clases - Envo de mensajes

El modelo de objetos abarca los principios de:


Abstraccin Modelo
Encapsulacin unir en la Clase las caractersticas y
comportamientos,
Jerarqua Herencia.
LA CLASE ES UN TAD
- Contiene:
Uno o ms elementos dato llamados miembros dato.
Cero, una o mas funciones miembro que manipulan
esos datos.
- Conjunto de objetos con el mismo comportamiento
(abstraccin)

LOS OBJETOS INSTANCIA DE CLASE


- Tiene 2 componentes:
Caractersticas y Comportamiento. Ejemplo un automvil tiene

Caractersticas (marca, modelo, color, velocidad mxima, etc.) y

Comportamiento (frenar, acelerar, retroceder, llenar combustible,


cambiar llantas, etc.).
TIPO ABSTRACTO DE DATO (TAD)
Tipo de dato que consta de datos (estructuras de datos
propias) y operaciones que se pueden realizar sobre ellos. Un
TAD se compone de estructuras de datos y los procedimientos
o funciones que manipulan esas estructuras de datos.
TAD = Representacin(datos) + Operaciones(funciones y procedimientos)

La estructura de un tipo abstracto de dato (por ejemplo una


clase), desde un punto de vista global, se compone de la
interfaz y de la implementacin.
Modelo 1
Modelo 2 Interfaz pblica
.
.
Modelo n

Mtodo 1
Mtodo 2
Implementacin privada
.
.
Mtodo n
LA CLASE DE OBJETO AUTOMVIL
Representacin en UML de esta clase de objetos.

Automovil

- Color
- Velocidad
- Motor
- Marca
- Placa

- Avanzar
- Parar
- Girar a la derecha
- Girar a la izquierda
- Obtener velocidad

Automvil puede ser un subconjunto o una especializacin de otro


objeto mas genrico, tal como Vehculo.
INSTANCIA DE UNA CLASE
Empleado
-Nombre
- Edad
- Empresa

- Registrar ingreso()
- Calcular Sueldo()
- Registrar Tipo Seguro()

Ejemplo:
Clase Telfono

014-975874 9785482
INSTANCIAS

Implementacin de los objetos descritos en una clase.

Un objeto es una instancia o ejemplar de una clase.

Por ejemplo: alumno y profesor son instancias de la clase Persona.

MTODOS
Las operaciones definidas para los objetos se denominan mtodos.
Cuando se llama a una operacin de un objeto se interpreta como el envo
de un mensaje a dicho objeto.
ATRIBUTOS Y MTODOS
ATRIBUTOS:
Son las caractersticas de la Clase.
METODOS:
Definen el comportamiento del objeto, es decir, determinan los
mensajes que puede recibir un objeto.
Tambin llamados operaciones o funciones miembro.
CLASES: COMPONENTES
Consta de 2 partes:
Declaracin: lista los miembros de una clase.
Implementacin: o cuerpo define las funciones
de una clase.
Declaracin de una clase Implementacin de una clase

public class CuentaBancaria { void ingresar (double cantidad){


//a t r i b u t o s saldo += cantidad;
int numero; }
String titular;
void retirar (double cantidad) {
double saldo;
if (cantidad > saldo)
System.out.println ("Saldo insuficiente");
//m e t o d o s
else
void ingresar (double cantidad);
saldo -= cantidad;
void retirar (double cantidad) ;
}

}
DEFINICIN DE UNA CLASE EN JAVA
[public | private | protected] class nombre_de_clase [extends superclass] [implements
interface_1, interface_2, ...] {

[public | private | protected] type variable_de_instancia_1;

[public | private | protected] type variable_de_instancia_2;

[public | private | protected] type variable_de_instancia_N;

nombre_de_clase ([lista de parmetros]) {//Constructor, siempre lleva el mismo nombre


cuerpo_del_mtodo; //de la clase.

} // Es invocado por el operador new()

[public | private | protected] type nombre_de_metodo2([lista de parmetros]) {

cuerpo_del_mtodo;

[public | private | protected] type nombre_de_metodoN([lista de parmetros]) {

cuerpo_del_mtodo;

}
EJEMPLO, LA CLASE PUNTO

public class Punto { public float CordX()


protected float x; Variables de {return x;}
Instancia:
protected float y;
Coordenadas public float CordY()

{return y;}
Punto() { //Constructor
x = 0.0;
public void Imprimir(){
y = 0.0;
Constructor System.out.println(CordX() + ":" + CordY());
}
sobrecargado
}

Punto(float x, float y) {//Constructor

this.x = x; public void Mover(float x, float y) {

this.y = y; this.x = x;

} this.y = y;

} Mtodos
Teamwork

Desarrollemos una clase persona, con


los atributos: nombre, edad y sexo y
que contenga los mtodos
Despertar, Trabajar y Dormir
RESUMEN DE LA CLASE
La POO, modela objetos del mundo real. Por ejemplo: personas, casas,
autos, libros, etc., incorpora atributos (datos), y comportamiento (funciones y
mtodos).
Java es un lenguaje de programacin y una plataforma informtica
comercializada por primera vez en 1995 por Sun Microsystems. Hay muchas
aplicaciones y sitios web que no funcionarn a menos que
tenga Java instalado y cada da se crean ms.
REFLEXIN AL FINALIZAR LA SESIN

El principal mrito del lenguaje es la claridad



---- Galen
PROGRAMACIN ESTRUCTURADA (P.E)
PROGRAMACIN ORIENTADA A OBJETOS (P.O.O)

P.E P.O.O

Las funciones tienen acceso Modela objetos del mundo real.


ilimitado a datos globales, la Por ejemplo: personas, casas,
programacin procedural da un autos, libros, etc.
bajo modelo del mundo real.
Incorpora atributos (datos), y
comportamiento (funciones).
Datos globales Datos globales Datos globales
Atributos=Datos
Persona= color de cabello
estatura
color de ojos

Comportamiento=Funciones
Funcin Funcin Funcin Persona.CaminaconAceleracion()
Persona.CaminaconRetardo()
Existe separacin entre los Combina en una sola entidad (objeto), los
datos y las funciones. datos y funciones.
PROGRAMACIN ESTRUCTURADA (P.E)
PROGRAMACIN ORIENTADA A OBJETOS (P.O.O)

PE POO
Fija su atencin en el Fija en la interrelacin que
conjunto de acciones que existe entre los datos y las
manipulan el flujo de acciones a realizar con ellos.
datos. Los objetos son la parte
Los procesos son la parte central del modelo y los
central de este modelo. mtodos que los modifican
El mantenimiento de los muestran el comportamiento
desarrollos deben del objeto.
efectuarse El mantenimiento de
minuciosamente. Se hace programas y aplicaciones
tediosa segn el tamao generalmente son fciles de
del programa. realizar.
Los procesos que se Los objetos que se modelan
modelan en el desarrollo en el desarrollo de un sistema
de un problema plasman se ajustan a la realidad que
las operaciones necesarias representa el problema.
para resolverlo.
COMPARACIN CON LA PROGRAMACIN
ESTRUCTURADA

Cdigo Cdigo
Funcin1 Funcin2
Obj1

Obj2

Obj3
Cdigo
Programa
principal
ELEMENTOS DE LA POO VS. ELEMENTOS
DE LA PROGRAMACIN TRADICIONAL

Programacin Orientada a Programacin Estructurada


Objetos
Clase Tipo
Objeto Variable
Mtodo Funcin/Subrutina
Mensaje Llamada
Atributo Campo de registro
Estado Valor del registro
REA DONDE SE APLICA LA TECNOLOGA
DE OBJETOS

Lenguajes de programacin
Bases de datos
Dibujo y Visualizacin
Sistemas Operativos
Interfaz de Usuario
Metodologa de anlisis y diseo
Sistemas de conmutacin telefnica
VENTAJAS DE POO

Uniformidad: la representacin de los objetos esta


presente tanto en el diseo como en la codificacin
Flexibilidad: Cualquier cambio se ve reflejado en
cualquier lugar donde aparecen los datos involucrados.
Objetivismo: representa el mundo real.
Reusabilidad: permite utilizar una clase definida
previamente en aplicaciones que nos sea conveniente.
Mantenibilidad: las clases, vistas como mdulos
independientes son fciles de mantener.
Extensibilidad: gracias a la modularidad y herencia
pueden ser fcilmente extensibles al crecimiento de la
aplicacin.
ACTIVIDADES COMPLEMENTARIAS:
LECTURAS - VIDEOS
Revisar Videos 1 y 2 publicadas en el
aula virtual y aplicarlas en los trabajos
de la semana.
TRABAJO: TRANSFERENCIA
TRABAJO: TRANSFERENCIA
En esta prctica, Usted analizar y desarrollar programas en C++,
para luego publicarlos en el aula virtual.

o Tipo de Trabajo: Grupal (3-4 estudiantes)


o Referencia: Hoja de prctica 1.1
o Fecha de publicacin: 12/04/2017 11:55pm
o Herramienta: Netbean Java.
Weekly Work

Desarrollar las hojas de practica


1.1:
Fecha: 12/04/2017
Hora: 11:55 pm
Aula Virtual

Das könnte Ihnen auch gefallen