Ingeniero: Andy Felix Leyton Valdivia
Correo
:
[Link].2010@[Link]
Fundamentos de
Programacin
Java
Sesin 1: Introduccin y
Diseo de Programacin
Sumilla
El
alumno se inicia en el mundo de la programacin
usando el lenguaje Java, podr comprender y tener
los criterios necesarios para tomar decisiones
utilizando estructuras y sintaxis correctas en sus
procesos, se usar el IDE Netbeans para su
aprendizaje.
Ser
como un curso bsico y avanzado de
algoritmos utilizando lenguaje Java, opcional para
alumnos que acrediten haber llevado o estn
llevando curso de java en la universidad o instituto.
Objetivos
Proporcionar
los conocimientos iniciales
de programacin utilizando el Lenguaje
Java.
Conocer las expresiones y palabras
reservadas.
Conocer las estructuras de control y
repetitivas.
Contenido
Sesin 1: Introduccin y Diseo de
programacin
Sesin 2: Expresiones, operadores y variables
Sesin 3: Estructuras de Control
Sesin 4: Estructuras de Bucles
Sesin 5: Estructuras Complementarias
Sesin 6: Subprogramas
Sesin 7: Ventanas (Swing)
Sesin 8: Creacin de jar, introduccin a JOO
Evaluacin
Durante el curso se evaluara a los
alumnos con 3 proyectos, estos debern
ser presentados en la fecha indicada de lo
contrario tendrn la nota mnima. De los 3
proyectos se eliminara el mas bajo
Nota de asistencia
Examen Final
Formula de Evaluacin
PF = ( P1 + P2 + NA ) / 3 + EF ) / 2
Historia
Javaes unlenguaje de programacindepropsito
general,concurrente,orientado a objetosque fue diseado
especficamente para tener tan pocas dependencias de
implementacin como fuera posible. Su intencin es permitir
que losdesarrolladoresde aplicaciones escriban el programa
una vez y lo ejecuten en cualquier dispositivo (conocido en
ingls comoWORA, o "write once, run anywhere"), lo que
quiere decir que elcdigoque es ejecutado en una
plataforma no tiene que serrecompiladopara correr en otra.
Java es, a partir de 2012, uno de los lenguajes de
programacin ms populares en uso, particularmente para
aplicaciones decliente-servidorde web, con unos 10
millones de usuarios reportados.
Filosofa
Debera
usar el paradigma de la programacin
orientada a objetos.
Debera permitir la ejecucin de un mismo
programa en mltiples sistemas operativos.
Debera incluir por defecto soporte para trabajo
en red.
Debera disearse para ejecutar cdigo en
sistemas remotos de forma segura.
Debera ser fcil de usar y tomar lo mejor de
otros lenguajes orientados a objetos, como C++.
Programacin Orientada a
Objetos
La primera caracterstica, orientado a objetos (OO),
se refiere a un mtodo de programacin y al diseo
del lenguaje. Aunque hay muchas interpretaciones
para OO, una primera idea es disear el software de
forma que los distintos tipos de datos que usen estn
unidos a sus operaciones. As, los datos y el cdigo
(funciones o mtodos) se combinan en entidades
llamadas objetos. Un objeto puede verse como un
paquete que contiene el comportamiento (el
cdigo) y el estado (datos). El principio es separar
aquello que cambia de las cosas que permanecen
inalterables.
Programacin Orientada a
Objetos
Secciones
Seccin
Publica: Los mtodos y atributos
pueden ser utilizados desde otra clase.
Seccin Protegida: Los mtodos y
atributos pueden ser utilizados desde
una subclase.
Seccin Privada: Los mtodos y
atributos pueden ser utilizados dentro
de la misma clase.
Mtodos
Mtodos
Estticos: Los cuales no
necesitan ser instanciados y pueden
usarse desde la misma clase
Mtodos Instanciados: Estos mtodos
deben ser usados desde una variable
que referencie a la clase, y
posteriormente sea inicializada
Atributos
Atributos
Estticos: Los cuales no
necesitan ser instanciados y pueden
usarse desde la misma clase.
Atributos Instanciados: Estos atributos
deben ser usados desde una variable
que referencie a la clase, y
posteriormente sea inicializada.
Tarea 1: Cual seria la estructura de la Clase
Persona para que puedan crear los objetos
Ingeniero, Doctor, Actor?
Clase Persona
Seccin Publica
Atributo: Nombre
Edad
Sexo
Profesin
Mtodo: Set_Caminar
Set_Estudiar
Seccin Protegida
Atributo: Nombre de Padres
Lugar de Nacimiento
Seccin Privada
Atributo: Sueldo
Centro Laboral
Objeto Ingeniero
Seccin Publica
Atributo: Nombre = Jose Fuentes
Edad = 25
Sexo = M
Profesin = Ingeniero
Mtodo: Set_Caminar
Set_Estudiar
Seccin Protegida
Atributo: Nombre de Padres = Lucy Cardenas y Jose Fuentes
Lugar de Nacimiento = Trujillo
Seccin Privada
Atributo: Sueldo = 2000
Centro Laboral = Ferreyros CAT
Objeto Doctor
Seccin Publica
Atributo: Nombre = Luisa Valderrama
Edad = 28
Sexo = F
Profesin = Doctor
Mtodo: Set_Caminar
Set_Estudiar
Seccin Protegida
Atributo: Nombre de Padres = Veronica Palma y Juan Valderrama
Lugar de Nacimiento = Lima
Seccin Privada
Atributo: Sueldo = 3000
Centro Laboral = Clinica Javier Prado
Objeto Actor
Seccin Publica
Atributo: Nombre = Carlos Alcantara
Edad = 45
Sexo = M
Profesin = Actor
Mtodo: Set_Caminar
Set_Estudiar
Seccin Protegida
Atributo: Nombre de Padres = Christina Leon y David Alcantara
Lugar de Nacimiento = Lima
Seccin Privada
Atributo: Sueldo = 30000
Centro Laboral = Cine Peruano
Herencia
La herencia es, despus de la agregacin o composicin, el
mecanismo ms utilizado para alcanzar algunos de los
objetivos ms preciados en el desarrollo de software como
lo son la reutilizacin y la extensibilidad. A travs de ella
los diseadores pueden crear nuevas clases partiendo de
una clase o de una jerarqua de clases preexistente (ya
comprobadas y verificadas) evitando con ello el rediseo,
la modificacin y verificacin de la parte ya implementada.
La herencia facilita la creacin de objetos a partir de otros
ya existentes e implica que una subclase obtiene todo el
comportamiento (mtodos) y eventualmente los atributos
(variables) de su superclase.
Herencia
Tarea 2: Como se implementaran las
subclases Ingeniero, Doctor y Actor de la sper
clase Persona?
Clase Persona
Seccin Publica
Atributo: Nombre
Edad
Sexo
Profesin
Mtodo: Set_Caminar
Set_Estudiar
Seccin Protegida
Atributo: Nombre de Padres
Lugar de Nacimiento
Seccin Privada
Atributo: Sueldo
Centro Laboral
Clase Ingeniero Hereda de
Clase Persona
Seccin Publica
Atributo: Nombre
Edad
Sexo
Profesin
Especialidad
Mtodo: Set_Caminar
Set_Estudiar
Set_Analizar
Set_Programar
Seccin Protegida
Atributo: Nombre de Padres
Lugar de Nacimiento
Cdigo Colegiado
Seccin Privada
Atributo: Sueldo
Centro Laboral
Clase Doctor Hereda de Clase
Persona
Seccin Publica
Atributo: Nombre
Edad
Sexo
Profesin
Rama Medica
Mtodo: Set_Caminar
Set_Estudiar
Set_Operar
Seccin Protegida
Atributo: Nombre de Padres
Lugar de Nacimiento
Cdigo de Certificacin
Seccin Privada
Atributo: Sueldo
Centro Laboral
Clase Actor Hereda de Clase
Persona
Seccin Publica
Atributo: Nombre
Edad
Sexo
Profesin
Genero
Mtodo: Set_Caminar
Set_Estudiar
Set_Practicar
Set_Actuar
Seccin Protegida
Atributo: Nombre de Padres
Lugar de Nacimiento
Cantidad de Peliculas
Seccin Privada
Atributo: Sueldo
Centro Laboral
Personaje Sobresaliente
Interfaces
Una
interfaz en Java es una coleccin de
mtodos abstractos y propiedades. En ellas se
especifica qu se debe hacer pero no su
implementacin. Sern las clases que
implementen estas interfaces las que describan
la lgica del comportamiento de los mtodos.
La
interface proporciona un mecanismo de
encapsulacin de los protocolos de los mtodos
sin forzar al usuario a utilizar la herencia.
Interfaces
JDK
Java
Development Kit o (JDK), es un software
que provee herramientas de desarrollo para
la creacin de programas en Java. Puede
instalarse en una computadora local o en
una unidad de red.
En
la unidad de red se pueden tener las
herramientas distribuidas en varias
computadoras y trabajar como una sola
aplicacin.
Netbeans
NetBeans es un entorno de desarrollo integrado libre,
hecho principalmente para el lenguaje de programacin
Java. Existe adems un nmero importante de mdulos
para extenderlo. NetBeans IDE2 es un producto libre y
gratuito sin restricciones de uso.
NetBeans es un proyecto de cdigo abierto de gran xito
con una gran base de usuarios, una comunidad en
constante crecimiento, y con cerca de 100 socios en todo
el mundo. Sun MicroSystems fund el proyecto de cdigo
abierto NetBeans en junio de 2000 y contina siendo el
patrocinador principal de los proyectos (Actualmente Sun
Microsystems es administrado por Oracle Corporation).