conceptos básicos del paradigma orientado a objetosymoyao/wp-content/uploads/2016/01/intro1... ·...

77
Conceptos Básicos del Paradigma Orientado a Objetos M.C Yolanda Moyao Martínez 1 Programación II

Upload: vodang

Post on 14-Feb-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Conceptos Básicos del Paradigma Orientado a Objetosymoyao/wp-content/uploads/2016/01/Intro1... · Java es un lenguaje robusto •En lugar de los punteros se emplean referencias a

Conceptos Básicos del Paradigma

Orientado a Objetos

M.C Yolanda Moyao Martínez 1

Programación II

Page 2: Conceptos Básicos del Paradigma Orientado a Objetosymoyao/wp-content/uploads/2016/01/Intro1... · Java es un lenguaje robusto •En lugar de los punteros se emplean referencias a

Programación Orientada a

Objetos-POO

• Es un paradigma de

programación

que usa objetos en

sus interacciones,

para

diseñar aplicacione

s y programas

informaticos.

Page 3: Conceptos Básicos del Paradigma Orientado a Objetosymoyao/wp-content/uploads/2016/01/Intro1... · Java es un lenguaje robusto •En lugar de los punteros se emplean referencias a

POO

• La POO nació en 1969 con el Dr.Kristin

Nygaard pues trató de describir el

movimiento de los barcos.

• Se dio cuenta que era muy difícil simular del

mundo real(mareas, formas de líneas de

costas y los movimientos de los barcos) con

los métodos de programación existentes.

Page 4: Conceptos Básicos del Paradigma Orientado a Objetosymoyao/wp-content/uploads/2016/01/Intro1... · Java es un lenguaje robusto •En lugar de los punteros se emplean referencias a

POO• Era mas fácil adecuar el

mundo real a la

computadora que al

revés.

• El primer lenguaje OO

fue Simula 67

Page 5: Conceptos Básicos del Paradigma Orientado a Objetosymoyao/wp-content/uploads/2016/01/Intro1... · Java es un lenguaje robusto •En lugar de los punteros se emplean referencias a

Ejemplo

• Las partes de un

coche pueden ser

internamente

muy complejas

pero lo

importante es

como interactúan

entre si

Page 6: Conceptos Básicos del Paradigma Orientado a Objetosymoyao/wp-content/uploads/2016/01/Intro1... · Java es un lenguaje robusto •En lugar de los punteros se emplean referencias a

Programa Orientado a Objetos

• Un programa OO se forma

de muchos componentes

independientes(objetos) y

diferentes cada uno con

funcionamiento específico

y que se comunican o dan

respuesta a solicitudes

(mensajes) de los demás

Page 7: Conceptos Básicos del Paradigma Orientado a Objetosymoyao/wp-content/uploads/2016/01/Intro1... · Java es un lenguaje robusto •En lugar de los punteros se emplean referencias a

POO vs programación estructurada

Page 8: Conceptos Básicos del Paradigma Orientado a Objetosymoyao/wp-content/uploads/2016/01/Intro1... · Java es un lenguaje robusto •En lugar de los punteros se emplean referencias a

POO Vs Programación estructurada

• Encapsula datos y métodos

Clase es la unidad de

programación

• Orientado a acciones.

Función es la unidad de

programación

Page 9: Conceptos Básicos del Paradigma Orientado a Objetosymoyao/wp-content/uploads/2016/01/Intro1... · Java es un lenguaje robusto •En lugar de los punteros se emplean referencias a

Ejemplo: Algoritmo en POO

Encender un auto1. Identificar los objetos

llave, switch, clutch, palanca de velocidades

2. Relacionarlos de acuerdo a su funcionalidad

a. poner palanca de velocidades en neutral

b. colocar la llave dentro del switch

c. presionar el clutch al fondo

d. girar llave a la derecha hasta topar y soltar suavemente

e. si el auto encendió. Fin del algoritmo

f. Caso contrario. Girar llave a posición inicial, esperar 2 seg. y repetir inciso d.

Page 10: Conceptos Básicos del Paradigma Orientado a Objetosymoyao/wp-content/uploads/2016/01/Intro1... · Java es un lenguaje robusto •En lugar de los punteros se emplean referencias a

Práctica 2

• En equipos de 4 resuelve los problemas.

1. Cambiar un neumático

2. Pintar una mesa

• Analicen el problema e identifiquen en una lista

todos los objetos.

• Usando los objetos de acuerdo a su funcionalidad,

escriban un algoritmo para resolver el problema.

Page 11: Conceptos Básicos del Paradigma Orientado a Objetosymoyao/wp-content/uploads/2016/01/Intro1... · Java es un lenguaje robusto •En lugar de los punteros se emplean referencias a

Tarea 2

• Resuelve los problemas.

1. Hacer Tarea

2. trasladarse a la escuela

• Analiza el problema e identifica en una lista todos los

objetos.

• Usando los objetos de acuerdo a su funcionalidad,

escribe un algoritmo para resolver el problema.

Page 12: Conceptos Básicos del Paradigma Orientado a Objetosymoyao/wp-content/uploads/2016/01/Intro1... · Java es un lenguaje robusto •En lugar de los punteros se emplean referencias a

POO

• La Programación Orientada a Objetos es

un paradigma de programación que usa

los objetos en sus interacciones, para diseñar

programas.

• En POO los TDA’s se refieren a las clases

• Está basado en varias técnicas, incluyendo herencia,

abstracción, polimorfismo y encapsulamiento.

Page 13: Conceptos Básicos del Paradigma Orientado a Objetosymoyao/wp-content/uploads/2016/01/Intro1... · Java es un lenguaje robusto •En lugar de los punteros se emplean referencias a

• Abstracción

• Objeto

• Encapsulamiento

• Clase

• Jerarquía

• Herencia

• Modularidad

• Polimorfismo

Page 14: Conceptos Básicos del Paradigma Orientado a Objetosymoyao/wp-content/uploads/2016/01/Intro1... · Java es un lenguaje robusto •En lugar de los punteros se emplean referencias a

Abstracción

• Aislar un elemento de su contexto o del resto de los

elementos que lo acompañan, identificando sus

características esenciales que lo distinguen de los

demás.

• Capacidad de conceptualizar entidades genéricas de

información a partir de cosas concretas.

Page 15: Conceptos Básicos del Paradigma Orientado a Objetosymoyao/wp-content/uploads/2016/01/Intro1... · Java es un lenguaje robusto •En lugar de los punteros se emplean referencias a

Abstracción

• Hay muchas aves diferentes pero cuando vemos una

en particular la podemos reconocer inmediatamente

aunque nunca la hayamos visto antes.

• ¿Qué es una ave? Descríbela!!!!!

Page 16: Conceptos Básicos del Paradigma Orientado a Objetosymoyao/wp-content/uploads/2016/01/Intro1... · Java es un lenguaje robusto •En lugar de los punteros se emplean referencias a

¿Todas son aves?

Page 17: Conceptos Básicos del Paradigma Orientado a Objetosymoyao/wp-content/uploads/2016/01/Intro1... · Java es un lenguaje robusto •En lugar de los punteros se emplean referencias a

Ave

• vertebrado de sangre

caliente, provisto de

pico y alas, con el

cuerpo cubierto de

plumas, que se

reproduce por huevos

y tiene respiración

pulmonar y circulación

doble y completa.

Page 18: Conceptos Básicos del Paradigma Orientado a Objetosymoyao/wp-content/uploads/2016/01/Intro1... · Java es un lenguaje robusto •En lugar de los punteros se emplean referencias a

Abstracción

• Se centra en las

características

esenciales de algún

objeto, en relación a la

perspectiva del

observador

Page 19: Conceptos Básicos del Paradigma Orientado a Objetosymoyao/wp-content/uploads/2016/01/Intro1... · Java es un lenguaje robusto •En lugar de los punteros se emplean referencias a

Ejemplo: Abstracción de estudiante

Page 20: Conceptos Básicos del Paradigma Orientado a Objetosymoyao/wp-content/uploads/2016/01/Intro1... · Java es un lenguaje robusto •En lugar de los punteros se emplean referencias a

TDA

Page 21: Conceptos Básicos del Paradigma Orientado a Objetosymoyao/wp-content/uploads/2016/01/Intro1... · Java es un lenguaje robusto •En lugar de los punteros se emplean referencias a

Encapsulamiento

• Significa reunir en cierta estructura todos los

elementos que a determinado nivel de abstracción,

se pueden considerar de una misma entidad.

• Oculta lo que hace un objeto de lo que hacen otros

objetos del mundo exterior

Page 22: Conceptos Básicos del Paradigma Orientado a Objetosymoyao/wp-content/uploads/2016/01/Intro1... · Java es un lenguaje robusto •En lugar de los punteros se emplean referencias a

Encapsulamiento

• Esconder detalles de como

funciona algo, detrás de una

interfaz.

• El usuario no se ve afectado

si se cambia el

funcionamiento interno del

objeto mientras no se cambie

la interfaz.

Page 23: Conceptos Básicos del Paradigma Orientado a Objetosymoyao/wp-content/uploads/2016/01/Intro1... · Java es un lenguaje robusto •En lugar de los punteros se emplean referencias a

Ejemplo

• En el objeto

vehículo el

encapsulamiento

significa que el

conductor cuando

frena, no necesita

conocer el sistema

de frenado.

Page 24: Conceptos Básicos del Paradigma Orientado a Objetosymoyao/wp-content/uploads/2016/01/Intro1... · Java es un lenguaje robusto •En lugar de los punteros se emplean referencias a

Clase y Objeto

• Objeto es una entidad tanto

tangible como intangible,

que se puede imaginar y que

tiene un estado, un

comportamiento y una

identidad.

M.C Yolanda Moyao Martínez 24

Page 25: Conceptos Básicos del Paradigma Orientado a Objetosymoyao/wp-content/uploads/2016/01/Intro1... · Java es un lenguaje robusto •En lugar de los punteros se emplean referencias a

Ejemplos

seguro es un objeto intangible que tiene propiedades tales como tipo de cobertura, costo, vigencia, etc. Además tiene cierto comportamiento tal que este puede ser contratado, renovado, cancelado, modificado, etc.

Seguro

-Tipo_Cobertura

-Costo

-Vigencia

+Contratar(..)

+Renovar(…)

+Cancelar(…)

+Modificar(…)

Page 26: Conceptos Básicos del Paradigma Orientado a Objetosymoyao/wp-content/uploads/2016/01/Intro1... · Java es un lenguaje robusto •En lugar de los punteros se emplean referencias a

Ejemplo

mesa Objeto tangible, tiene propiedades tales como color, largo, ancho, etc. Y tiene comportamiento tal que puede ser pintada, restaurada, modificada, etc.

Mesa

-Color

-Largo

-Ancho

+Pintar(..)

+Restaurar(…)

+Modificar(…)

Page 27: Conceptos Básicos del Paradigma Orientado a Objetosymoyao/wp-content/uploads/2016/01/Intro1... · Java es un lenguaje robusto •En lugar de los punteros se emplean referencias a

Clase

• Clase Tipo de molde o

plantilla que dicta lo que los

objetos son y pueden o no

hacer.

• Es un conjunto de objetos

que comparten una

estructura y un

comportamiento.

Animales

Page 28: Conceptos Básicos del Paradigma Orientado a Objetosymoyao/wp-content/uploads/2016/01/Intro1... · Java es un lenguaje robusto •En lugar de los punteros se emplean referencias a

Ejemplo

Servicios es una clase que define

objetos que tienen propiedades tales

como tipo de cobertura, costo,

vigencia, etc.

Además tienen cierto

comportamiento tal que estos puede

ser contratados, renovados,

cancelados, modificados, etc.

M.C Yolanda Moyao Martínez 28

Servicios

+Tipo_Cobertura+Costo+Vigencia

+Contratar()+Renmovar()+Cancelar()+Modificar()

Page 29: Conceptos Básicos del Paradigma Orientado a Objetosymoyao/wp-content/uploads/2016/01/Intro1... · Java es un lenguaje robusto •En lugar de los punteros se emplean referencias a

Atributos

• Atributos son los datos necesarios para describir los objetos

creados a partir de alguna clase en particular.

M.C Yolanda Moyao Martínez 29

Page 30: Conceptos Básicos del Paradigma Orientado a Objetosymoyao/wp-content/uploads/2016/01/Intro1... · Java es un lenguaje robusto •En lugar de los punteros se emplean referencias a

Ejemplo

el objeto Servicios_Juan es identificado por los atributos:

tipo de cobertura, costo, vigencia, etc.

M.C Yolanda Moyao Martínez 30

Servicios_Juan

-Tipo_Cobertura

-Costo

-Vigencia

+Contratar()

+Renovar()

+Cancelar()

+Modificar()

Page 31: Conceptos Básicos del Paradigma Orientado a Objetosymoyao/wp-content/uploads/2016/01/Intro1... · Java es un lenguaje robusto •En lugar de los punteros se emplean referencias a

Estado

• Posibles condiciones en

que un objeto puede existir.

• El estado de un objeto

puede cambiar durante el

tiempo.

Page 32: Conceptos Básicos del Paradigma Orientado a Objetosymoyao/wp-content/uploads/2016/01/Intro1... · Java es un lenguaje robusto •En lugar de los punteros se emplean referencias a

Ejemplo

Servicios_Juan

Amplia

150,000

3 años

Contratar()

Renovar()

Cancelar()

Modificar()

Page 33: Conceptos Básicos del Paradigma Orientado a Objetosymoyao/wp-content/uploads/2016/01/Intro1... · Java es un lenguaje robusto •En lugar de los punteros se emplean referencias a

Método

• Método es una secuencia

de instrucciones que una

clase u objeto sigue para

realizar una tarea.

• Es un conjunto de

operaciones que

manipulan a los atributos

del objeto.

M.C Yolanda Moyao Martínez 33

Page 34: Conceptos Básicos del Paradigma Orientado a Objetosymoyao/wp-content/uploads/2016/01/Intro1... · Java es un lenguaje robusto •En lugar de los punteros se emplean referencias a

Ejemplo

• En la clase Servicios

los métodos que

manipulan a los

atributos de los objetos

son: contratar,

renovar, cancelar,

modificar, etc

M.C Yolanda Moyao Martínez 34

Page 35: Conceptos Básicos del Paradigma Orientado a Objetosymoyao/wp-content/uploads/2016/01/Intro1... · Java es un lenguaje robusto •En lugar de los punteros se emplean referencias a

Java

Implementaciones

Page 36: Conceptos Básicos del Paradigma Orientado a Objetosymoyao/wp-content/uploads/2016/01/Intro1... · Java es un lenguaje robusto •En lugar de los punteros se emplean referencias a

Java es un lenguaje robusto

• En lugar de los punteros se emplean referencias a

objetos, los cuales son identificadores simbólicos.

• El gestor de memoria de Java lleva una contabilidad

de las referencias a los objetos. Cuando ya no existe

una referencia a un objeto, éste se convierte en

candidato para la recogida de basura (garbage

collection).

Page 37: Conceptos Básicos del Paradigma Orientado a Objetosymoyao/wp-content/uploads/2016/01/Intro1... · Java es un lenguaje robusto •En lugar de los punteros se emplean referencias a

Lenguaje portable

• El principal objetivo de los diseñadores de Java, y

dado el gran crecimiento de las redes en los últimos

años, fue el de desarrollar un lenguaje cuyas

aplicaciones una vez compiladas pudiesen ser

inmediatamente ejecutables en cualquier máquina

y sobre cualquier sistema operativo.

• Por ejemplo, un programa desarrollado en Java en

una estación Sun que emplea el S.O Solaris, debería

poderse llevar a un PC que utilice S.O. Windows NT.

Page 38: Conceptos Básicos del Paradigma Orientado a Objetosymoyao/wp-content/uploads/2016/01/Intro1... · Java es un lenguaje robusto •En lugar de los punteros se emplean referencias a

Lo mas simple posible

• Los diseñadores de Java trataron de mantener las

facilidades básicas del lenguaje en un mínimo y

proporcionar un gran número de extras con las

librerías de clases.

Page 39: Conceptos Básicos del Paradigma Orientado a Objetosymoyao/wp-content/uploads/2016/01/Intro1... · Java es un lenguaje robusto •En lugar de los punteros se emplean referencias a

Lenguaje seguro

• Se pretendía construir un lenguaje que no pudiera

acceder a los recursos del sistema de manera

incontrolada. Por este motivo se eliminó la

posibilidad de manipular la memoria mediante el uso

de punteros evitando así todo acceso ilegal a la

memoria.

Page 40: Conceptos Básicos del Paradigma Orientado a Objetosymoyao/wp-content/uploads/2016/01/Intro1... · Java es un lenguaje robusto •En lugar de los punteros se emplean referencias a

Máquina virtual

Page 41: Conceptos Básicos del Paradigma Orientado a Objetosymoyao/wp-content/uploads/2016/01/Intro1... · Java es un lenguaje robusto •En lugar de los punteros se emplean referencias a

Crear programas en java

- Aplicaciones

• Escribir el programa fuente en cualquier editor y guardarlo con extensión .java

• Compilar el fichero fuente mediante:

javac miPrograma.java. //genera el fichero .class

• Ejecutarlo (interpretar los byte-code) :

• java miPrograma

Page 42: Conceptos Básicos del Paradigma Orientado a Objetosymoyao/wp-content/uploads/2016/01/Intro1... · Java es un lenguaje robusto •En lugar de los punteros se emplean referencias a

Características

• Java no tiene funciones definidas fuera de las clases.

• Métodos y variables deben estar definidas dentro de una

clase.

• El main debe ir dentro de una clase aunque no pertenezca a

ninguna.

Page 43: Conceptos Básicos del Paradigma Orientado a Objetosymoyao/wp-content/uploads/2016/01/Intro1... · Java es un lenguaje robusto •En lugar de los punteros se emplean referencias a

Sintaxis

JAVA

Page 44: Conceptos Básicos del Paradigma Orientado a Objetosymoyao/wp-content/uploads/2016/01/Intro1... · Java es un lenguaje robusto •En lugar de los punteros se emplean referencias a

Comentarios

// comentarios para una sola línea

/* comentarios de una o más líneas */

/** comentario de documentación, de una o más líneas */

Page 45: Conceptos Básicos del Paradigma Orientado a Objetosymoyao/wp-content/uploads/2016/01/Intro1... · Java es un lenguaje robusto •En lugar de los punteros se emplean referencias a

Tipos

• Java es un lenguaje con control fuerte de Tipos

(Strongly Typed).

• Esto significa que cada variable y cada expresión

tiene un Tipo que es conocido en el momento de la

compilación

Page 46: Conceptos Básicos del Paradigma Orientado a Objetosymoyao/wp-content/uploads/2016/01/Intro1... · Java es un lenguaje robusto •En lugar de los punteros se emplean referencias a

Tipos primitivos

• boolean : Puede contener los valores true o false.

• byte : Enteros. Tamaño 8-bits. Valores entre -128 y 127.

• short : Enteros. Tamaño 16-bits. Entre -32768 y 32767.

• int : Enteros. Tamaño 32-bits. Entre -2147483648 y 2147483647.

• long : Enteros. Tamaño 64-bits. Entre -9223372036854775808 y 9223372036854775807.

• float : Números en coma flotante. Tamaño 32-bits.

• double : Números en coma flotante. Tamaño 64-bits.

• char : Caracteres. Tamaño 16-bits. Unicode. Desde '\u0000' a '\uffff' inclusive. Esto es desde 0 a 65535

• El tamaño de los tipos de datos no depende de la implementación de Java. Son siempre los mismos.

Page 47: Conceptos Básicos del Paradigma Orientado a Objetosymoyao/wp-content/uploads/2016/01/Intro1... · Java es un lenguaje robusto •En lugar de los punteros se emplean referencias a

Identificadores

• Los identificadores nombran variables, funciones, clases y objetos; cualquier cosa que el programador necesite identificar o usar.

• En Java, un identificador comienza con una letra, un subrayado (_) o un símbolo de dólar ($). Los siguientes caracteres pueden ser letras,dígitos,$,_.

• Se distinguen las mayúsculas de las minúsculas y no hay longitud máxima.

Page 48: Conceptos Básicos del Paradigma Orientado a Objetosymoyao/wp-content/uploads/2016/01/Intro1... · Java es un lenguaje robusto •En lugar de los punteros se emplean referencias a

Ejemplos

• nombre_usuario

• Nombre_Usuario

• _variable_de_sistema

• $transacción

• var2

Page 49: Conceptos Básicos del Paradigma Orientado a Objetosymoyao/wp-content/uploads/2016/01/Intro1... · Java es un lenguaje robusto •En lugar de los punteros se emplean referencias a

Variables

• Una variable es un área en memoria que tiene un

nombre y un Tipo asociado.

• Es obligatorio declarar las variables antes de usarlas.

tipo_variable nombre ;

Ejemplos:

int i; // Declaracion de un entero

char letra; // Declaracion de un carácter

boolean flag; // Declaracion de un booleano

Page 50: Conceptos Básicos del Paradigma Orientado a Objetosymoyao/wp-content/uploads/2016/01/Intro1... · Java es un lenguaje robusto •En lugar de los punteros se emplean referencias a

Asignación

• La declaración y la asignación se pueden combinar en una

sola expresión:

int i = 5;

char letra = 'c';

boolean flag = false;

No existen variables globales pues todas deben estar dentro de

alguna clase.

Page 51: Conceptos Básicos del Paradigma Orientado a Objetosymoyao/wp-content/uploads/2016/01/Intro1... · Java es un lenguaje robusto •En lugar de los punteros se emplean referencias a

Literales caracter

• Un carácter entre apóstrofes (') o bien una sequencia de escape (también entre ').

• Las secuencias de escape están formadas por el símbolo \ y una letra o un número. Algunas secuencias de escape útiles:

• \n: Salto de línea

• \t: Tabulador

• \b: Backspace.

• \r: Retorno de carro

• \uxxxx: donde xxxx es el código Unicode del carácter.

• Por ejemplo \u0027 es el apostrofe (')

Page 52: Conceptos Básicos del Paradigma Orientado a Objetosymoyao/wp-content/uploads/2016/01/Intro1... · Java es un lenguaje robusto •En lugar de los punteros se emplean referencias a

Operaciones sobre tipos primitivos

Tipos

Grupo de

operadoresOperadores

Enteros

Operadores

de

comparación

que

devuelven

un valor boolean

< (menor) , <= (menor o igual) , >

(mayor), >= (mayor o igual), ==

(igual), != (distinto)

Operadores

numéricos,

que

devuelven un valor int

o long

+ (unario, positivo), - (unario,

negativo), + (suma) , - (resta) , *

(multiplicación), / (división), %

(resto), ++ (incremento), --

(decremento), <<, >>, >>> (rotación)

, ~ (complemento a nivel de bits), &

(AND a nivel de bits), | (OR a nivel

de bits) ^(XOR a nivel de bits)

Page 53: Conceptos Básicos del Paradigma Orientado a Objetosymoyao/wp-content/uploads/2016/01/Intro1... · Java es un lenguaje robusto •En lugar de los punteros se emplean referencias a

Tipos

Grupo de

operadoresOperadores

Coma

flotante

Operadores de

comparación que

devuelven un valor boolean

< (menor) , <= (menor o igual)

, > (mayor), >= (mayor o

igual), == (igual), !=

(distinto)

Operadores

numéricos, que

devuelven un valor float o double

+ (unario, positivo), -

(unario, negativo), + (suma) ,

- (resta) , *

(multiplicación), / (división),

% (resto), ++ (incremento), --

(decremento).

BooleanosOperadores

booleanos

== (igual), != (distinto), !

(complemento), & (AND), |

(OR), ^ (XOR), && (AND

condicional), || (OR

condicional)Los operadores de java son los mismos y tienen la misma

prioridad y asociatividad que en C

Page 54: Conceptos Básicos del Paradigma Orientado a Objetosymoyao/wp-content/uploads/2016/01/Intro1... · Java es un lenguaje robusto •En lugar de los punteros se emplean referencias a

Palabras reservadas

• Abstract, boolean, break, byte, case, catch, char, class,

const, continue, default, do, double, else, extends,

final, finally, float, for, goto, if,implements, import,

instanceof, int, interface, long, native, new, package,

private, protected, public, return, short, static, super,

switch, this, throw, throws, transient, volatil, while,

void, synchronized,

Page 55: Conceptos Básicos del Paradigma Orientado a Objetosymoyao/wp-content/uploads/2016/01/Intro1... · Java es un lenguaje robusto •En lugar de los punteros se emplean referencias a

Ejemplo//muy sencillo

public class Primero

{

public static void main(String[] args)

{

System.out.println(“Hola Todos”);

}

}

Palabra reservada Nombre de la clase

Definición del método

Argumentos del

método

Llamado del método para

imprimir

Modificador

de acceso

Objeto Clase

Page 56: Conceptos Básicos del Paradigma Orientado a Objetosymoyao/wp-content/uploads/2016/01/Intro1... · Java es un lenguaje robusto •En lugar de los punteros se emplean referencias a

Objeto out para flujo de salida

estándar

• Algunos de sus métodos son: println(), print()

• Ejemplos

System.out.println(“Hola Todos”);

System.out.println(“Factorial”+facto);

System.out.print(“Hola Todos”);

Page 57: Conceptos Básicos del Paradigma Orientado a Objetosymoyao/wp-content/uploads/2016/01/Intro1... · Java es un lenguaje robusto •En lugar de los punteros se emplean referencias a

Ejemplo: Clase serviciospublic class Servicios

{

public static void main(String[] args)

{

System.out.println(“Servicios”);

}

public void contratar()

{

System.out.println(“contratar”);

}

}

Page 58: Conceptos Básicos del Paradigma Orientado a Objetosymoyao/wp-content/uploads/2016/01/Intro1... · Java es un lenguaje robusto •En lugar de los punteros se emplean referencias a

Creación de objetos

Una vez que una clase se modela o se define, es posible

crear o instanciar uno o más objetos que se

identifican con dicha clase.

Servicios_Juan

Amplia

150,000

3 años

Contratar()

Renovar()

Cancelar()

Modificar()

Servicios_Teresa

Limitada

100,000

2 años

Contratar()

Renovar()

Cancelar()

Modificar()

Page 59: Conceptos Básicos del Paradigma Orientado a Objetosymoyao/wp-content/uploads/2016/01/Intro1... · Java es un lenguaje robusto •En lugar de los punteros se emplean referencias a

Ejemplo: Instanciar objetos

public class servicios{

public static void main(String[] args) {

servicios k = new servicios();

System.out.println("Hola Todos!");

}

public void contratar()

{

System.out.println("contratar");

}

}

Page 60: Conceptos Básicos del Paradigma Orientado a Objetosymoyao/wp-content/uploads/2016/01/Intro1... · Java es un lenguaje robusto •En lugar de los punteros se emplean referencias a

Mensaje

• Es una instrucción que se envía

a un objeto, el cual se ejecutará al

recibirlo;

• Incluye el identificador que

contiene la acción a realizar por

el objeto.

• Incluye los datos que este necesita

para efectuar su trabajo.

Page 61: Conceptos Básicos del Paradigma Orientado a Objetosymoyao/wp-content/uploads/2016/01/Intro1... · Java es un lenguaje robusto •En lugar de los punteros se emplean referencias a

EjemploContratar()

Page 62: Conceptos Básicos del Paradigma Orientado a Objetosymoyao/wp-content/uploads/2016/01/Intro1... · Java es un lenguaje robusto •En lugar de los punteros se emplean referencias a

Ejemplo: Contratarpublic class servicios{

public static void main(String[] args) {

servicios juan = new servicios();

System.out.println("Hola Todos!");

juan.contratar();

}

public void contratar()

{

System.out.println("contratar");

}

}

Page 63: Conceptos Básicos del Paradigma Orientado a Objetosymoyao/wp-content/uploads/2016/01/Intro1... · Java es un lenguaje robusto •En lugar de los punteros se emplean referencias a

Practica 3

• En equipo de 4 realiza el modelado para las clases:

aparatos_electrónicos, animales y medios_de

transporte.

• Implementa en Java las 3 clases modeladas.

Page 64: Conceptos Básicos del Paradigma Orientado a Objetosymoyao/wp-content/uploads/2016/01/Intro1... · Java es un lenguaje robusto •En lugar de los punteros se emplean referencias a

Tarea 3

• Modela las clases: mochilas, juguetes, libros.

• Implementa en Java las 3 clases modeladas.

Page 65: Conceptos Básicos del Paradigma Orientado a Objetosymoyao/wp-content/uploads/2016/01/Intro1... · Java es un lenguaje robusto •En lugar de los punteros se emplean referencias a

Objeto

Page 66: Conceptos Básicos del Paradigma Orientado a Objetosymoyao/wp-content/uploads/2016/01/Intro1... · Java es un lenguaje robusto •En lugar de los punteros se emplean referencias a

Estado

El estado de un objeto lo establecen los valores concretos de los atributos y los enlaces que el objeto pueda tener con otros objetos.

Page 67: Conceptos Básicos del Paradigma Orientado a Objetosymoyao/wp-content/uploads/2016/01/Intro1... · Java es un lenguaje robusto •En lugar de los punteros se emplean referencias a

public class Servicios{ string tipo; int monto, vigencia;

public static void main(String[] args) {

Servicios juan = new Servicios();

System.out.println(“Servicios disponibles!");

juan.contratar(“amplio”,150,3);

}

public void contratar(String t, int m, int v)

{

tipo=t; monto=m; vigencia=v;

System.out.println("contratar"+"\n"+"tipo de cobertura

"+tipo+"\n"+"Pago "+monto+"\n"+"La vigencia es de

"+vigencia); } }

Page 68: Conceptos Básicos del Paradigma Orientado a Objetosymoyao/wp-content/uploads/2016/01/Intro1... · Java es un lenguaje robusto •En lugar de los punteros se emplean referencias a

Comportamiento

• Determina como un objeto actúa y reacciona a las

peticiones de otros objetos.

• Se modela con un conjunto de mensajes a los que puede

responder

Page 69: Conceptos Básicos del Paradigma Orientado a Objetosymoyao/wp-content/uploads/2016/01/Intro1... · Java es un lenguaje robusto •En lugar de los punteros se emplean referencias a

Identidad: su nombre• Cada objeto tiene identidad única, aunque en un momento

dado el estado puede ser idéntico al de otros objetos

VuelaVuela

gaviota águila

Page 70: Conceptos Básicos del Paradigma Orientado a Objetosymoyao/wp-content/uploads/2016/01/Intro1... · Java es un lenguaje robusto •En lugar de los punteros se emplean referencias a

public class Servicios{ string tipo; int monto, vigencia;

public static void main(String[] args) {

Servicios juan = new Servicios();

Servicios carla = new Servicios();

System.out.println(“Servicios disponibles!");

juan.contratar(“amplio”,150,3);

carla.contratar(“amplio”,150,3);

}

public void contratar(String t, int m, int v)

{

tipo=t; monto=m; vigencia=v;

System.out.println("contratar"+"\n"+"tipo de cobertura "+tipo+"\n"+"Pago

"+monto+"\n"+"La vigencia es de "+vigencia);

} }

Page 71: Conceptos Básicos del Paradigma Orientado a Objetosymoyao/wp-content/uploads/2016/01/Intro1... · Java es un lenguaje robusto •En lugar de los punteros se emplean referencias a

ClasesDescribe un grupo de objetos que

tienen

• Propiedades en común

(atributos)

• Comportamiento

común(Métodos)

• Relaciones comunes con otros

objetos(Asociación)

Page 72: Conceptos Básicos del Paradigma Orientado a Objetosymoyao/wp-content/uploads/2016/01/Intro1... · Java es un lenguaje robusto •En lugar de los punteros se emplean referencias a

Clases V.S. Objetos• La clase es una definición

abstracta de los objetos.

• Define su estructura y

comportamiento

• Sirve como plantilla para

crear objetos

• Objeto es una instancia

concreta de una

clase(ejemplar).

• Los objetos se agrupan

en clases

Page 73: Conceptos Básicos del Paradigma Orientado a Objetosymoyao/wp-content/uploads/2016/01/Intro1... · Java es un lenguaje robusto •En lugar de los punteros se emplean referencias a

Clase planetas

Objeto tierra

Page 74: Conceptos Básicos del Paradigma Orientado a Objetosymoyao/wp-content/uploads/2016/01/Intro1... · Java es un lenguaje robusto •En lugar de los punteros se emplean referencias a

Atributos de clase static

• No es específico de cada objeto. Solo hay una copia

del mismo y su valor es compartido por todos los

objetos de la clase.

• Podemos considerarlo como una variable global a la

que tienen acceso todos los objetos de la clase.

• Existe y puede utilizarse aunque no existan objetos

de la clase.

• Para acceder a un atributo de clase se escribe:

• NombreClase.atributo

Page 75: Conceptos Básicos del Paradigma Orientado a Objetosymoyao/wp-content/uploads/2016/01/Intro1... · Java es un lenguaje robusto •En lugar de los punteros se emplean referencias a

final – variable constante

final permite definer variables como constantes

Ejemplo

public static final x=20;

Page 76: Conceptos Básicos del Paradigma Orientado a Objetosymoyao/wp-content/uploads/2016/01/Intro1... · Java es un lenguaje robusto •En lugar de los punteros se emplean referencias a

Métodos de clase static

• Tiene acceso solo a los atributos estáticos de la clase.

• No es necesario instanciar un objeto para poder

utilizarlo.

• Para acceder a un método de clase se escribe:

• NombreClase.método()

Page 77: Conceptos Básicos del Paradigma Orientado a Objetosymoyao/wp-content/uploads/2016/01/Intro1... · Java es un lenguaje robusto •En lugar de los punteros se emplean referencias a

Ejemplo

public class m{

static int k=0; int p;

public static void

main(String args[ ]){ }

cuenta(); //omite la clase

public static int cuenta(){k++; }

}

public class m{

static int k=0; int p;

public static void

main(String args[ ]){ }

z.cuenta(); //no omite clase

}

class z{

public static cuenta(){k++; }

}

Versión 1 Versión 2