Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.

100
Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón

Transcript of Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.

Page 1: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.

Java Básico

Universidad Nacional Autónoma de MéxicoFacultad de Estudios Superiores Aragón

Page 2: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.

Agenda

Conceptos Básicos Que es un lenguaje de programación Paradigmas de programación

Entorno de programación con Java La maquina Virtual de Java (java.exe) El compilador Java (javac.exe) Variables de entorno relacionados Introducción a la programación con Java

Estructuras de control básicas (if, if-else. Switch, while, do-while, for)

Caracteristicas del Lenguiaje Java IDE (Integarted Development Environment)

Page 3: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.

Agenda (cont.) Programación Orientada a Objetos con Java

Conceptos Basicos Clase, Objeto, Atributo, Métodos, etc.

Abstracción Encapsulamiento

Paquetes en java Especificadores de acceso en java

Public, private, protected y friendly. Composición Herencia Polimorfismo Manejo de errores Clases abstractas Interfaces Herencia múltiple

Page 4: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.

Arquitectura Von Newman

Page 5: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.

Lenguaje de Programación: Definición

Un lenguaje de programación es un sistema notacional para describir computaciones de una forma legible tanto para la máquina como para el ser humano(Programador).

Page 6: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.

Lenguaje de programación

Sintaxis + Semántica

Page 7: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.

Sintaxis (estructura léxica) Gramáticas libres de contexto, estructura léxica,

tokens Semántica (significado)

Lenguaje natural Semántica operacional Semántica denotacional

Page 8: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.

Analogía con el lenguaje natural (Esp.)

Elementos Sintácticos (sintaxis) El, yo, tu, la, los, las, da, perro, casa, come, corre,

brinca, señor,señora, corre, croquetas … Semántica

Oración: sujeto + verbo +predicado El perro come croquetas que le da el señor. croquetas el come da perro que señor le el.

Page 9: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.

Ejemplo…int A=0;int B=8;int C=7;A= B + C;System.out.println(A);…

…int =0A;B int =8;C=7 int;A B + C =;System.out.println(); A…

Page 10: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.

Más Conceptos

Compilador:

Es un programa que recibe de entrada un archivo con instrucciones escritas en un lenguaje de programación de alo nivel, lo analiza, lo traduce a un lenguaje ejecutable equivalente y finalmente almacena el resultado en DD.

Intérprete:

Es un programa que recibe de entrada un archivo con instrucciones escritas en un lenguaje de programación, lo traduce y ejecuta al vuelo (JIT).

Page 11: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.

Paradigmas de programación

Universidad Nacional Autónoma de México

Diplomado de Tecnologías de la Información

Page 12: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.

Definición

Los paradigmas son un conjunto de conocimientos y creencias que forman una visión del mundo (cosmovisión).

Paradigma de programación: Representa un enfoque particular o

filosofía para la construcción de programas. No es mejor uno que otro sino que cada uno tiene ventajas y desventajas. También hay situaciones donde un paradigma resulta más apropiado que otro

Page 13: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.

Paradigma Imperativo

Modela la arquitectura de la máquina de von Neumann. La computación consiste en la ejecución paso a paso de algoritmos (secuencias condicionales o repetitivas de instrucciones) que modifican los contenidos de variables (espacios de memoria)

Page 14: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.
Page 15: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.

Paradigma funcional

Conjunto de valores, funciones y las operaciones de aplicación de función y composición de función, Las funciones pueden tomar como argumentos otras funciones y devolverlas como resultados Un programa es una colección de definiciones de funciones. Una computación es una evaluación (aplicación) de una expresión (función con sus argumentos).

• Tipos de datos• Expresiones condicionales• Recursión

Page 16: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.

qsort [] = []qsort (x:xs) = qsort elts_lt_x ++ [x] ++ qsort elts_greq_xwhereelts_lt_x = [y | y <- xs, y < x]elts_greq_x = [y | y <- xs, y >= x]

LISP, Haskell, Gofer

Page 17: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.

Paradigma Lógico

Se basa en la manipulación de bases de conocimiento para decidir resolver problemas lógicos

Page 18: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.

% Basepadre(juan,alberto). padre(luis,alberto). padre(alberto,leoncio). padre(geronimo,leoncio). padre(luisa,geronimo). % condiciones , predicados% parentesco hermanos hermano(A,B) :- padre(A,P), padre(B,P), A \== B. % parentesco abuelo-nieto.

nieto(A,B) :- padre(A,P), padre(P,B).

?- nieto(luis,X).

X = leoncio No

Page 19: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.

Paradigma orientado a objetos

Define la computación como la interacción entre objetos autónomos mediante la utilización de objetos, la programación se convierte en simulación.

Los objetos son instancias de clases que se organizan en jerarquías de herencia

Los objetos se comportan independientemente Utilizan la selección de las operaciones en tiempo de ejecución cuando interpretan los mensajes provenientes de otros objetos

Page 20: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.
Page 21: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.

Programación Orientada a Objetos

Universidad Nacional Autónoma de México

Page 22: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.

Introducción a la Programación con Java

Antes de entrar a los conceptos de programación estudiaremos el entorno de programación Java

Page 23: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.

¿ Que es Java ?

Java es un lenguaje de programación orientado a objetos.

Desarrollado por Sun Microsystems, una empresa reconocida por sus estaciones de trabajo UNIX de alta calidad.

Moldeado en base a C++, el lenguaje Java se diseñó para ser pequeño, sencillo y portátil a través de plataformas y sistemas operativos, tanto a nivel de código fuente como en binario.

Page 24: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.

Enterprise JavaBeansEnterprise JavaBeans

RMIRMI

Programación distribuidaProgramación distribuida

CORBACORBA

JDBCJDBCBases de datosBases de datos

Java3DJava3D

Java2DJava2D

Programación gráficaProgramación gráfica

JINIJINI

Sistemas embebidosSistemas embebidos

JavaSpacesJavaSpaces

AppletsApplets

WWWWWW

Java Web StartJava Web Start

ServletsServlets

Java Server PagesJava Server Pages

ServidorServidor

Java Server FacesJava Server Faces

JavaBeansJavaBeans

JNIJNI

ProgramaciónProgramación

java.*java.*

J2MEJ2ME

AWT

AWT

Programación UIProgramación UI

SwingSwingSWTSWT

Page 25: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.
Page 26: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.

Palabras clave (sintaxis)

abstractbooleanbreakbytebyvaluecasecastcatchcharclassconstcontinue

defaultdodoubleelseextendsfalsefinalfinallyfloatforfuturegeneric

gotoifimplementsimportinnerinstanceofintinterfacelongnativenewnull

operatorouterpackageprivateprotectedpublicrestreturnshortstaticsuperswitch

synchronizedthisthrowthrowstransienttruetryvarvoidvolatilewhile

Page 27: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.

Java es independiente de la plataforma

Es una de las ventajas mas representativas que tiene Java sobre otros lenguajes de programación.

En particular para los sistemas que necesitan funcionar en variar plataformas.

Java mantiene esta independencia de la plataforma tanto a nivel del código fuente como del binario.

Independencia de la plataforma es la capacidad del programa de trasladarse con facilidad de un sistema computacional a otro.

Page 28: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.

Arquitectura Java

Page 29: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.

La maquina virtual de java

jvm jvm jvm

Page 30: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.

¿Cómo sucede esto ?

Los archivos binarios Java se encuentran, de hecho, en una forma llamada bytecode.

Bytecodes son un conjunto de instrucciones muy parecidas al código de máquina, pero que no son específicas para algún procesador.

Page 31: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.
Page 32: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.

Creando una aplicación Java

Los archivos fuente se crean en un editor de texto sencillo, o en uno que puede guardar archivos en ASCII común, sin caracteres para dar formato.

Page 33: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.

Todo el programa está encerrado en una definición de clase (aquí, una clase llamada HolaMundo).

Toda clase en Java se debe guardar en un archivo con el mismo nombre (Case sensitive)

El punto de entrada del programa es una rutina especial(método) llamada main.

Todo bloque de programa esta encerrado entre picoparentesis “{” y “}”

Partes del programa en java

Page 34: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.

Por convención, los archivos fuente Java tienen el mismo nombre de la clase que definen-> HolaMundo.java.

Compilar el archivo fuente con el compilador javac.

En el JDK de Sun, el compilador Java se llama javac.

Para compilar su programa Java, asegúrese de que el programa javac se encuentra en la misma ruta de su programa. O configure el PATH de las variables de ambiente del S.O.

Guardar el programa

Page 35: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.

El comando javac compila el código fuente Java y lo convierte en Bytecodes.

Nota: Revisar las variables de entorno PATH y CLASSPATH

Compilando el programa

Page 36: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.

Teclee java seguido por el nombre del archivo sin la extención .class:

Java HolaMundo

Si su programa se escribió y compiló de manera correcta, deberá obtener la cadena “Hola Mundo!” impresa en su pantalla como respuesta.

Nota: Recuerde, el compilador Java y el intérprete Java son diferentes. Utilice el compilador (javac para sus archivos fuente Java a fin de crear archivos.classy use el intérprete (java) para ejecutar sus archivos de clase.

Page 37: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.

Respuesta:

Page 38: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.

Estructura de una clase en java

Page 39: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.

Nombre del paquete al que pertenece

Inclusión de bibliotecas

Nombre de la clase

Atributos de la clase

Constructor por defecto

Constructor sobrecargado

Método de acceso

Método de uso general

Método main

Page 40: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.

NetBeans 5.5 y 6.0

Es un IDE (Entorno de Desarrollo Integrado). Proyecto de código abierto y gratuito. una herramienta para programadores

pensada para escribir, compilar, depurar y ejecutar programas en JAVA.

Page 41: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.

Interfaz

Page 42: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.

interfaz

Page 43: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.

Interfaz

Page 44: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.

Interfaz

Page 45: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.

Classpath (bibliotecas)

Page 46: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.

Matisse

Page 47: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.

Primer proyecto en NetBeans

Page 48: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.

Elegir tipo de proyecto

Page 49: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.

Propiedades del Proyecto

Page 50: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.

Proyecto Generado

Proyecto

Paquete

Ventana de edición de código

Page 51: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.

Edición Código

Page 52: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.

Compilación y Ejecución

Page 53: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.

Introducción a la Programación

Orientada a Objetos

Page 54: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.

Convenciones decodificación

http://java.sun.com/docs/codeconv/ El 80 % del costo de tiempo de vida de una pieza

de software, se la pasa en mantenimiento. Difícilmente el mantenimiento es hecho por su autor

original. Convenciones de codificación le da a los programas

claridad para el mantenimiento. Si se adquiere código fuente de terceros debemos

asegurarnos que siga estas convenciones.

Page 55: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.

Indentación Líneas 80 cars. Convenciones de nombrado:

Clases.- Minúsculas con la primera mayúscula. Ejemplo: Usuario, FacturaAnual, Jugador, etc.

Paquetes.- todo en minúsculas y se recomienda poner las siglas de la organización. Ejemplos: datos, java.util,com.mysql, edu.fes, etc.

Interfaces.- Igual que las clases.

Page 56: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.

Atributos.- Todo en minúsculas, si es compuesta la inicial de las palabras subsecuentes en mayúscula. Ejemplos: int nombre, String numeroCuenta, etc.

Métodos .- Igual que los atributos. Ejemplos: comparar(), actualizarDatos(), etc.

Constantes Todo en mayúsculas separados por guión bajo “_”.

Ejemplo: static final int MAX_VALUE=10

Page 57: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.

Introducción a la programación con

Java

Page 58: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.

Ejemplo 1

Page 59: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.

Ejemplo2

Page 60: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.

Estructuras de control

Secuencia Selección

If If-else Switch

Repeticion For While Do-while

Page 61: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.

Secuencia

Implícita en el lenguaje Se refiere a que después de cada sentencia

(oración) ejecutada, se ejecuta la sentencia siguiente en el programa.

Un programa sigue un flujo de ejecucion desde inicio a fin.

Se permite ceder el control del programa, pero siempre es regresado para continuar en el punto en que se quedo.

Page 62: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.

Estructura de selección if

If: Decisión Se evalúa una condición, sí se cumple (igual a true)

se ejecuta el bloque, e lo contrario se brinca el bloque

If, sintaxis:If( [condicion]){

[bloque de instrucciones]}

Page 63: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.

Operadores relacionales

Page 64: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.

Ejemplo3

Imprimir a si y solo si es mayor que b

Page 65: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.

Estructura de selección if -else

If: Decisión con bifurcación Se evalúa una condición, sí se cumple (igual a true)

se ejecuta el bloque if, de lo contrario ejecuta el bloque “else”

If-else, sintaxis:If( [condicion]){

//[bloque de instrucciones]}else{

//[bloque de instrucciones del “else”]}

Page 66: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.

Ejemplo if-else

Page 67: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.

Ejercicio

Tenemos 3 variables de tipo entero, hacer un programa que averigüe cual de las tres es el más grande.

Nota: a, b y c son diferentes.

Ejemplo:a=9b=3c=56

Resultado : c es el mayor de todos, es igual a 56

Page 68: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.

Estructura de selección switch switch: Selección multiple

Se censa una variable, sí se cumple con cualquiera de los casos se ejecuta el bloque correspondiente al mismo.

switch, sintaxis:switch( variable ){

case 1:[bloque case 1]

break;case 2:

[bloque case n] break;

…default:

[bloque default]break;}

Page 69: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.

Ejercicio

Tenemos 1 variable de tipo entero, hacer un programa envié un mensaje a la pantalla dependiendo del valor de la variable, en relación a la sig. Tabla:

1

Mensaje Hola

2 Adios

3 Bye

4 Hello

5 Bongiorno

Page 70: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.
Page 71: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.

Estructura de repetición for for: repetición desde, hasta

Se ejecuta un bloque n veces, el numero de veces es controlada por una variable que es inicializada y mientras cumpla una condición.

for, sintaxis:

for( [inicialización] ; [condición] ; [incremento] ){//[bloque de sentencias de la estructura for]

}

for( j=0 ; j<=5 ; j=j+1){ System.out.println(“Hola");

}

Page 72: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.

Ejercicio

Hacer un programa que imprima en pantalla la tabla del 7

Hacer un programa que imprima las tablas desde 3 al 8.

Page 73: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.

Solución

Page 74: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.

Estructura de repetición while while: repetición mientras

Se ejecuta un bloque mientras se cumpla una condición.

while, sintaxis:

while( [condición] ) {[bloque de sentencias de la estructura while]

}

int c=0;while( c != 1){

System.out.println(“Hola"); c=teclado.nextInt();}

Page 75: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.

Ejemplo

Imprimir los valores factoriales de n entre 1 y 5000

Page 76: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.

Estructura de repetición do-while while: haz mientras

Igual que while solo que primero ejecuta el bloque.

Do-while, sintaxis:

do{[bloque de sentencias de la estructura while]

} while( [condición] ) ;

int c=0; do{

System.out.println(“Hola"); c=Integer.parseInt(JOptionPane.showInputDialog(“Nuevo val."));} while( c != 1);

Page 77: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.

Ejercicio

Hacer un programa que imprima un menu hasta que se elija la opción salir. 0 para salir

Page 78: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.

Programación Orientada a Objetos

Page 79: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.

Que es la POO

Define la computación como la interacción entre objetos autónomos mediante la utilización de objetos

La programación se convierte en simulación. Los objetos son instancias de clases que se pueden

organizar en jerarquías. Los objetos se comportan independientemente

Utilizan la selección de las operaciones en tiempo de ejecución cuando interpretan los mensajes provenientes de otros objetos.

Page 80: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.

¿Que es un objeto (Concepto)?

En una cosa tangible, o que se puede comprender intelectualmente.

Page 81: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.

¿Qué es un objeto en la P.O.O.?

Es un ejemplar de una definición de clase. El objeto representa una un estado (el valor

de sus atributos) desde el mismo momento en el que fue creado.

El comportamiento es determinado por la definición de la clase.

Page 82: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.

Clase es la definición de tipo de dato.

• Una clase esta formada por:Un nombre, AtributosY métodos

NOMBRE

ATRIBUTOS

MÉTODOS

Es una “Plantilla” de un tipo de datos.

¿Que es una clase?

Page 83: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.

Clase Foco

La siguiente es la definición de una nueva clase de nombre Foco:

Foco

potenciacolormarca

encender()fundir()setMarca(String)String getMarca()

Atributos

Métodos

Page 84: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.

Atributos

Los atributos de una clase clase define sus características y tienen algún valor.

Los atributos pueden ser de diferentes tipos de datos.

Foco

int potenciaString colorString marca

encender()fundir()setMarca(String)String getMarca()

Page 85: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.

Métodos

Define el comportamiento de la clase

Establece las interfaces de comunicación con el código.

Los métodos pueden o no recibir parámetros de entrada.

Retornan un tipo de datos.

Page 86: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.

Métodos de la clase Foco

Foco

int potenciaString colorString marca

void encender()void fundir()void setMarca(String)String getMarca()

Page 87: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.
Page 88: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.

Crear un objeto de tipo Foco

Foco unFoco = new Foco();

unFocoint potencia=0

String Color=null String marca=null

FundirEncender

setMarca(String m)

Que es un objeto en la POO

Page 89: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.

Usando la definición de clase Foco

Page 90: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.

Abstracción

Generalización conceptual de los atributos y comportamiento de los objetos

Objetivo: Abstraer los métodos y atributos comunes a un objeto y almacenar su definición en una clase.

Page 91: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.

Encapsulación

Empaquetar un conjunto de objetos en una definición de clase

Separación del aspecto externo del interno del objeto

Se maneja al objeto como una caja negra Asegura que la implementación de un objeto

sin afectar a los clientes.

Page 92: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.

Especificadotes de acceso

publicprivateprotegidofriendly

Page 93: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.

Public

El elemento (atributo o método) es visible desde cualquier parte en donde se este usando la clase.

Este tipo de modificador permite establecer el aspecto externo de la clase.

Page 94: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.
Page 95: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.

private: privado

El elemento solo es visible desde la clase en que esta definido.

Este especificador permite establecer el aspecto interno de la clase, es decir permite el encapsulamiento.

Page 96: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.

Ejemplo con la clase Foco

1. Observar que en la clase useFoco se puede acceder al nombre directamente.

2. Hacer privado el atributo nombre en la clase Foco.

3. Recompilar la clase “useFoco”,observe que pasa cuando se trata de acceder al atributo nombre.

4. Hacer lo mismo con un método.

Page 97: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.
Page 98: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.

protected: protegido

Relacionado con el concepto de Herencia (se vera más adelante).

Es una combinación de los accesos que proporcionan los modificadores public y private.

Proporciona acceso público para las clases derivadas producto de la herencia.

Para todas las demás clases se hacen privadas.

Page 99: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.

Friendly

Implícito, default (No tiene palabra clave). Las clases del mismo paquete tienen acceso

a este elemento.

Page 100: Java Básico Universidad Nacional Autónoma de México Facultad de Estudios Superiores Aragón.

Ejemplo

Modificar la clase Foco, establecer el atributo raza friendly(sin tipo de acceso)

Recompilar y probar la clase UseFoco Hacer una clase externa al paquete cosas y

tratar de acceder al atributo potencia.