SlideShare una empresa de Scribd logo
1 de 21
Programación
Orientada a
Objetos -Java
Parte 2
FERNANDO SOLIS
El lenguaje de programación Java 2
Constructores
• Procedimiento con el mismo nombre que la clase
• Se invoca automáticamente cada vez que se crea un
objeto de la clase
• No pueden especificar tipos ni valores de retorno
• Permite sobrecarga para especificar formas distintas de
inicializar los objetos
• Si no se define, el compilador crea uno por defecto sin
argumentos que inicializa los atributos a los valores por
defecto
• El programador también puede definir un constructor sin
argumentos.
El lenguaje de programación Java 3
Constructor de copia
public class Ejemplo{
private int at1;
…
public Ejemplo (Ejemplo e){
at1 = e.at1;
}
}
4
Ejemplo: Clase Contador v1
public class Contador{
// Variables de instancia
private int valor;
// Constructores
public Contador (){
valor = 0;
}
public void incrementar(){
valor++;
}
public int getValor(){
return valor;
}
}
El lenguaje de programación Java 5
semántica referencia!!!
Creación de objetos
• Un objeto es una instancia de una clase.
• La creación de un objeto se realiza en tres pasos
– Declaración, proporcionar un nombre al objeto
Contador miContador; (null)
– Instanciación, asignar memoria al objeto
miContador = new Contador();
objContador
– Inicialización, opcionalmente se pueden proporcionar valores iniciales
a las variables de instancia del objeto en la declaración o mediante
CONSTRUCTORES.
El lenguaje de programación Java 6
Ejemplo. Clase de prueba v1
public class TestContador{
public static void main (String [] args){
Contador c = new Contador();
c.incrementar();
c.incrementar();
System.out.println(“C = “ + c.getValor());
}
}
El lenguaje de programación Java 7
Igualdad vs. Identidad
¡¡OJO!!
== y != compara REFERENCIAS de manera que:
Contador c1 = new Contador();
Contador c2 = new Contador();
c1 == c2 --> false, luego c1!=c2
c1.equals(c2) --> true compara el CONTENIDO de los objetos
si lo redefinimos en la clase
(por defecto es igual que ==)
47
0
c2 valor
valorInicial
47
0
c1 valor
valorInicial
El lenguaje de programación Java 8
this
• Invocación a otro de los constructores de la clase:
public Contador (int i) {
valor=i;
valorInicial=i;
}
public Contador(){
this(0);
}
• Instancia actual:
– Pasar el objeto actual como parámetro de otro método
servicio.añadir(this);
– En cualquier método del objeto actual
this.otroMetodo();
El lenguaje de programación Java 9
Reglas de alcance
• Porción del programa en el que se puede hacer referencia al
identificador
• Un identificador debe ser único dentro de su ámbito
• Alcance de CLASE:
– los métodos de una clase pueden modificar directamente los atributos de
clase y de instancia
– Un método de clase (static) sólo puede acceder a atributos de clase.
• Alcance de Bloque:
– variables locales y parámetros de un método
– cuando se anidan los bloques y existen dos identificadores con nombres
iguales el compilador da error de sintaxis (variable ya definida)
– si una variable local tiene igual nombre que un atributo de la clase éste
queda oculto.
El lenguaje de programación Java 10
Reglas de alcance
class MiClase{
…
public static void metodo1(…){
{
…//bloque
}
}
public void metodo2(…){
…
}
}
variables de clase
parámetros
variables locales
var. de instancia
parámetros
variables locales
El lenguaje de programación Java 11
El método main
• Clase que conduce la aplicación
• Al ejecutar el programa se busca el método main que
contiene dicha clase:
public class Eco {
public static void main (String[] args){
for (int i = 0; i<args.length;i++)
System.out.print(args[i] + “ “);
}
}
• String[] args: parámetros del programa
• Ejemplo de invocación:
java Eco repite esto
• Puede haber más de un main, pero sólo se ejecutará uno
El lenguaje de programación Java 12
Normas de estilo
No es que existan reglas pero es conveniente seguir unas
normas para que el código sea mas legible:
• nombre de CLASE empieza por Mayúsculas
• nombre de métodos y atributos por minúsculas
• las CONSTANTES con MAYÚSCULAS completamente
• cuando empieza una nueva palabra la ponemos en
mayúsculas ej: dibujarRectangulo
13
Ejemplo: Clase Contador v2 (1/2)
public class Contador{
// Variable de clase
private static int nextCodigo=1;
// Variables de instancia
private int codigo;
private int valor;
private int valorInicial;
private int step;
// Constructores
public Contador (int valor, int step){
codigo =nextCodigo;
this.valor = valor;
valorInicial = valor;
this.step = step;
++nextCodigo;
}
public Contador(){
this(0,1);
}
El lenguaje de programación Java 14
Ejemplo: Clase Contador v2 (2/2)
// Métodos de instancia
public void incrementar(){
valor+=step;
}
public void decrementar(){
if (valor>=step) valor-=step;
else valor=0;
}
public void reset(){
valor=valorInicial;
}
public int getValor(){
return valor;
}
public int getCodigo(){
return codigo;
}
}
El lenguaje de programación Java 15
Ejemplo. Clase de prueba
public class TestContador{
public static void main (String [] args){
Contador c1 = new Contador();
Contador c2 = new Contador (0, 10);
c1.incrementar();
c2.incrementar();
System.out.println(“C1 = “ + c1.getValor());
System.out.println(“C2 = “ + c2.getValor());
}
}
16
Paquetes
• Agrupar todas las clases relacionadas
//MiClass.java
package miBiblioteca;
public class MiClase{ //...
• Se coloca al comienzo del fichero
• Indica que las clases públicas que contenga está accesible a cualquiera que
incluya:
import miBiblioteca.MiClase; o bien
import miBiblioteca.*;
• Las clases que no tienen un nombre de paquete están en el paquete por
defecto (Default Package)
• Soporta el concepto de jerarquía de paquetes (estilo directorio)
ej: import miPaquete.miSubPaquete.MiClase;
El lenguaje de programación Java 17
Control de acceso
• Designar qué clases de una biblioteca (miBiblio) están
disponibles desde fuera del paquete
• Controlan si el cliente puede crear objetos de la clase
public class MiClase { ... }
Entonces import miBilio.MiClase;
• Modificador de acceso por omisión indica visibilidad a
nivel de paquete.
– Tanto la clase como atributos y métodos.
• Una clase NUNCA puede ser private.
El lenguaje de programación Java 18
Estructura de un proyecto
modelo
Contador
valor
sumar()
restar()
vista
VentanaContador
...
...
Contiene nom_proyecto.jpx
Ficheros .class
Ficheros .java
• Una carpeta por cada paquete
• Cada carpeta contiene los ficheros corres-
pondientes a las clases del paquete.
•Coincidencia EXACTA de nombres.
El lenguaje de programación Java 19
Paquetes básicos del sistema
• java.lang: para funciones del lenguaje
• java.util: para utilidades adicionales
• java.io: para manejo de ficheros
• java.awt: para diseño gráfico e interfaz de usuario
• java.awt.event: para gestionar eventos
• javax.swing: nuevo diseño de GUI
• java.net: para comunicaciones
…
El lenguaje de programación Java 20
Comentarios
• Hay tres tipos de 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
justo antes del elemento (clase, var, met)
*/
• Los comentarios de documentación pueden llevar etiquetas
• La documentación se genera con javadoc en formato html
El lenguaje de programación Java 21
... Comentarios
Las etiquetas pueden ser:
@see <referencia a otra clase>
- Etiquetas de documentación de clases:
@version <información sobre la versión>
@author <nombre autor>
- Etiquetas de documentación de métodos:
@param <nombre argumento><descripción>
@return <descripción>
@exception <excepción>
- Otras: (no aparece en la documentación)
@todo <comentario sobre algún tema pendiente>

Más contenido relacionado

La actualidad más candente

Lenguajes de programacion tema 2_compiladores e interpretes
Lenguajes de programacion tema 2_compiladores e interpretesLenguajes de programacion tema 2_compiladores e interpretes
Lenguajes de programacion tema 2_compiladores e interpretesIsrael Castillo Cruz
 
Elementos del BPMN
Elementos del BPMNElementos del BPMN
Elementos del BPMNAnel Sosa
 
exception handling in java.ppt
exception handling in java.pptexception handling in java.ppt
exception handling in java.pptVarshini62
 
Socket programming using java
Socket programming using javaSocket programming using java
Socket programming using javaUC San Diego
 
Lenguaje Ensamblador
Lenguaje EnsambladorLenguaje Ensamblador
Lenguaje Ensambladorgbermeo
 
Java GUI La librería Swing
Java GUI La librería Swing Java GUI La librería Swing
Java GUI La librería Swing Laura
 
Analizador Sintáctico
Analizador SintácticoAnalizador Sintáctico
Analizador SintácticoPablo Guerra
 
REGISTRO DE BANDERAS
REGISTRO DE BANDERASREGISTRO DE BANDERAS
REGISTRO DE BANDERASFabian Rojas
 
Tecnicas de ingenieria de software
Tecnicas de ingenieria de softwareTecnicas de ingenieria de software
Tecnicas de ingenieria de software'Jorge Martinez
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacionalLuis Jherry
 
Unidad 6 Protección y seguridad.
Unidad 6 Protección y seguridad.Unidad 6 Protección y seguridad.
Unidad 6 Protección y seguridad.Juan Anaya
 
Lenguajes libre de contexto
Lenguajes libre de contextoLenguajes libre de contexto
Lenguajes libre de contextoVerónica Es'Loo
 
Advanced java programming-contents
Advanced java programming-contentsAdvanced java programming-contents
Advanced java programming-contentsSelf-Employed
 
Tópicos Avanzados de Programación - Unidad 3 programacion concurrente
Tópicos Avanzados de Programación - Unidad 3 programacion concurrenteTópicos Avanzados de Programación - Unidad 3 programacion concurrente
Tópicos Avanzados de Programación - Unidad 3 programacion concurrenteJosé Antonio Sandoval Acosta
 
Creacion y terminacion de procesos
Creacion y terminacion de procesosCreacion y terminacion de procesos
Creacion y terminacion de procesosCariEli
 

La actualidad más candente (20)

Introduccion a python 3
Introduccion a python 3Introduccion a python 3
Introduccion a python 3
 
Lenguajes de programacion tema 2_compiladores e interpretes
Lenguajes de programacion tema 2_compiladores e interpretesLenguajes de programacion tema 2_compiladores e interpretes
Lenguajes de programacion tema 2_compiladores e interpretes
 
Elementos del BPMN
Elementos del BPMNElementos del BPMN
Elementos del BPMN
 
exception handling in java.ppt
exception handling in java.pptexception handling in java.ppt
exception handling in java.ppt
 
Socket programming using java
Socket programming using javaSocket programming using java
Socket programming using java
 
Lenguaje Ensamblador
Lenguaje EnsambladorLenguaje Ensamblador
Lenguaje Ensamblador
 
Java GUI La librería Swing
Java GUI La librería Swing Java GUI La librería Swing
Java GUI La librería Swing
 
Analizador Sintáctico
Analizador SintácticoAnalizador Sintáctico
Analizador Sintáctico
 
REGISTRO DE BANDERAS
REGISTRO DE BANDERASREGISTRO DE BANDERAS
REGISTRO DE BANDERAS
 
Java exception handling
Java exception handlingJava exception handling
Java exception handling
 
Tecnicas de ingenieria de software
Tecnicas de ingenieria de softwareTecnicas de ingenieria de software
Tecnicas de ingenieria de software
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacional
 
Herramientas Case
Herramientas CaseHerramientas Case
Herramientas Case
 
Unidad 6 Protección y seguridad.
Unidad 6 Protección y seguridad.Unidad 6 Protección y seguridad.
Unidad 6 Protección y seguridad.
 
Lenguajes libre de contexto
Lenguajes libre de contextoLenguajes libre de contexto
Lenguajes libre de contexto
 
Procesos e Hilos
Procesos e HilosProcesos e Hilos
Procesos e Hilos
 
Advanced java programming-contents
Advanced java programming-contentsAdvanced java programming-contents
Advanced java programming-contents
 
Tópicos Avanzados de Programación - Unidad 3 programacion concurrente
Tópicos Avanzados de Programación - Unidad 3 programacion concurrenteTópicos Avanzados de Programación - Unidad 3 programacion concurrente
Tópicos Avanzados de Programación - Unidad 3 programacion concurrente
 
Creacion y terminacion de procesos
Creacion y terminacion de procesosCreacion y terminacion de procesos
Creacion y terminacion de procesos
 
Registro de banderas y alu
Registro de banderas y aluRegistro de banderas y alu
Registro de banderas y alu
 

Similar a Programacion orientada a objetos 2

Información básica Java
Información básica JavaInformación básica Java
Información básica JavaFordBull2er
 
Programacion orientada a objetos 1
Programacion orientada a objetos 1Programacion orientada a objetos 1
Programacion orientada a objetos 1mellcv
 
JAVA_BASICO_modo_consola_introduccion.pptx
JAVA_BASICO_modo_consola_introduccion.pptxJAVA_BASICO_modo_consola_introduccion.pptx
JAVA_BASICO_modo_consola_introduccion.pptxFamiliaAyluardo
 
Programación Orientada a Objetos - Unidad 2: clases y objetos
Programación Orientada a Objetos - Unidad 2: clases y objetosProgramación Orientada a Objetos - Unidad 2: clases y objetos
Programación Orientada a Objetos - Unidad 2: clases y objetosJosé Antonio Sandoval Acosta
 
2introduccionallenguajejava 141109171757-conversion-gate02
2introduccionallenguajejava 141109171757-conversion-gate022introduccionallenguajejava 141109171757-conversion-gate02
2introduccionallenguajejava 141109171757-conversion-gate02Krizztiina Pacheko
 
2) introduccion al lenguaje java
2) introduccion al lenguaje java2) introduccion al lenguaje java
2) introduccion al lenguaje javaMargarita Romero
 
Contructores en java(grupo 8)
Contructores en java(grupo 8)Contructores en java(grupo 8)
Contructores en java(grupo 8)Manuel Ch.
 
Clases metodos y atributos
Clases metodos y atributosClases metodos y atributos
Clases metodos y atributosRobert Wolf
 
Sesion 07 nivel_acceso_miembros_clases
Sesion 07 nivel_acceso_miembros_clasesSesion 07 nivel_acceso_miembros_clases
Sesion 07 nivel_acceso_miembros_clasesecodereck
 
Constructor Y Destructor
Constructor Y DestructorConstructor Y Destructor
Constructor Y DestructorTecnologico
 
Metodos Constructor Y Destructor
Metodos Constructor Y DestructorMetodos Constructor Y Destructor
Metodos Constructor Y Destructorrezzaca
 

Similar a Programacion orientada a objetos 2 (20)

Información básica Java
Información básica JavaInformación básica Java
Información básica Java
 
Programacion orientada a objetos 1
Programacion orientada a objetos 1Programacion orientada a objetos 1
Programacion orientada a objetos 1
 
JAVA_BASICO_modo_consola_introduccion.pptx
JAVA_BASICO_modo_consola_introduccion.pptxJAVA_BASICO_modo_consola_introduccion.pptx
JAVA_BASICO_modo_consola_introduccion.pptx
 
Programación Orientada a Objetos - Unidad 2: clases y objetos
Programación Orientada a Objetos - Unidad 2: clases y objetosProgramación Orientada a Objetos - Unidad 2: clases y objetos
Programación Orientada a Objetos - Unidad 2: clases y objetos
 
2introduccionallenguajejava 141109171757-conversion-gate02
2introduccionallenguajejava 141109171757-conversion-gate022introduccionallenguajejava 141109171757-conversion-gate02
2introduccionallenguajejava 141109171757-conversion-gate02
 
INTRODUCCION LENGUAJE JAVA
INTRODUCCION LENGUAJE JAVAINTRODUCCION LENGUAJE JAVA
INTRODUCCION LENGUAJE JAVA
 
2) introduccion al lenguaje java
2) introduccion al lenguaje java2) introduccion al lenguaje java
2) introduccion al lenguaje java
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
 
Contructores en java(grupo 8)
Contructores en java(grupo 8)Contructores en java(grupo 8)
Contructores en java(grupo 8)
 
Presentacion4
Presentacion4Presentacion4
Presentacion4
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
 
manual de C#
manual de C#manual de C#
manual de C#
 
Manual c# 2
Manual c# 2Manual c# 2
Manual c# 2
 
Manual de c#
Manual de c#Manual de c#
Manual de c#
 
Clases metodos y atributos
Clases metodos y atributosClases metodos y atributos
Clases metodos y atributos
 
Sesion 07 nivel_acceso_miembros_clases
Sesion 07 nivel_acceso_miembros_clasesSesion 07 nivel_acceso_miembros_clases
Sesion 07 nivel_acceso_miembros_clases
 
Constructor Y Destructor
Constructor Y DestructorConstructor Y Destructor
Constructor Y Destructor
 
Metodos Constructor Y Destructor
Metodos Constructor Y DestructorMetodos Constructor Y Destructor
Metodos Constructor Y Destructor
 
Constructores en Java
Constructores en JavaConstructores en Java
Constructores en Java
 
Operadores poo
Operadores pooOperadores poo
Operadores poo
 

Más de mellcv

INTERACCIÓN ENTRE CLASES, GENERALIZACIÓN
INTERACCIÓN ENTRE CLASES, GENERALIZACIÓNINTERACCIÓN ENTRE CLASES, GENERALIZACIÓN
INTERACCIÓN ENTRE CLASES, GENERALIZACIÓNmellcv
 
INTERACCIÓN ENTRE CLASES, HERENCIAS
INTERACCIÓN ENTRE CLASES, HERENCIASINTERACCIÓN ENTRE CLASES, HERENCIAS
INTERACCIÓN ENTRE CLASES, HERENCIASmellcv
 
Asp .net
Asp .netAsp .net
Asp .netmellcv
 
Eventos
EventosEventos
Eventosmellcv
 
ARREGLOS EN JAVA, VECTORES Y MATRICES
ARREGLOS EN JAVA, VECTORES Y MATRICESARREGLOS EN JAVA, VECTORES Y MATRICES
ARREGLOS EN JAVA, VECTORES Y MATRICESmellcv
 
Arquitectura basada en componentes
Arquitectura basada en componentesArquitectura basada en componentes
Arquitectura basada en componentesmellcv
 
Desarrollo de software basado en componentes
Desarrollo de software basado en componentesDesarrollo de software basado en componentes
Desarrollo de software basado en componentesmellcv
 
Programacion orientada a componentes
Programacion orientada a componentesProgramacion orientada a componentes
Programacion orientada a componentesmellcv
 
PAQUETES EN JAVA
PAQUETES EN JAVAPAQUETES EN JAVA
PAQUETES EN JAVAmellcv
 
EXCEPCIONES JAVA
EXCEPCIONES JAVAEXCEPCIONES JAVA
EXCEPCIONES JAVAmellcv
 
MODIFICADORES Y METODOS DE ACCESO
MODIFICADORES Y METODOS DE ACCESOMODIFICADORES Y METODOS DE ACCESO
MODIFICADORES Y METODOS DE ACCESOmellcv
 
INSTANCIAS Y CONSTRUCTORES EN JAVA
INSTANCIAS Y CONSTRUCTORES EN JAVAINSTANCIAS Y CONSTRUCTORES EN JAVA
INSTANCIAS Y CONSTRUCTORES EN JAVAmellcv
 
ENTORNO DE DESARROLLO, ESTRUTURA GENERAL DE UN PROGRAMA
ENTORNO DE DESARROLLO, ESTRUTURA GENERAL DE UN PROGRAMAENTORNO DE DESARROLLO, ESTRUTURA GENERAL DE UN PROGRAMA
ENTORNO DE DESARROLLO, ESTRUTURA GENERAL DE UN PROGRAMAmellcv
 
Lenguaje de programacion java, conceptos
Lenguaje de programacion java, conceptosLenguaje de programacion java, conceptos
Lenguaje de programacion java, conceptosmellcv
 
Principios fundamentales de la programación orientado a objetos
 Principios fundamentales de la programación orientado a objetos  Principios fundamentales de la programación orientado a objetos
Principios fundamentales de la programación orientado a objetos mellcv
 
Introduccion al lenguage java
Introduccion al lenguage javaIntroduccion al lenguage java
Introduccion al lenguage javamellcv
 
Programar aplicaciones windows forms
Programar aplicaciones windows formsProgramar aplicaciones windows forms
Programar aplicaciones windows formsmellcv
 

Más de mellcv (20)

INTERACCIÓN ENTRE CLASES, GENERALIZACIÓN
INTERACCIÓN ENTRE CLASES, GENERALIZACIÓNINTERACCIÓN ENTRE CLASES, GENERALIZACIÓN
INTERACCIÓN ENTRE CLASES, GENERALIZACIÓN
 
INTERACCIÓN ENTRE CLASES, HERENCIAS
INTERACCIÓN ENTRE CLASES, HERENCIASINTERACCIÓN ENTRE CLASES, HERENCIAS
INTERACCIÓN ENTRE CLASES, HERENCIAS
 
Asp .net
Asp .netAsp .net
Asp .net
 
Asp
AspAsp
Asp
 
Eventos
EventosEventos
Eventos
 
ARREGLOS EN JAVA, VECTORES Y MATRICES
ARREGLOS EN JAVA, VECTORES Y MATRICESARREGLOS EN JAVA, VECTORES Y MATRICES
ARREGLOS EN JAVA, VECTORES Y MATRICES
 
Arquitectura basada en componentes
Arquitectura basada en componentesArquitectura basada en componentes
Arquitectura basada en componentes
 
Poc 2
Poc 2Poc 2
Poc 2
 
Desarrollo de software basado en componentes
Desarrollo de software basado en componentesDesarrollo de software basado en componentes
Desarrollo de software basado en componentes
 
Poc
PocPoc
Poc
 
Programacion orientada a componentes
Programacion orientada a componentesProgramacion orientada a componentes
Programacion orientada a componentes
 
PAQUETES EN JAVA
PAQUETES EN JAVAPAQUETES EN JAVA
PAQUETES EN JAVA
 
EXCEPCIONES JAVA
EXCEPCIONES JAVAEXCEPCIONES JAVA
EXCEPCIONES JAVA
 
MODIFICADORES Y METODOS DE ACCESO
MODIFICADORES Y METODOS DE ACCESOMODIFICADORES Y METODOS DE ACCESO
MODIFICADORES Y METODOS DE ACCESO
 
INSTANCIAS Y CONSTRUCTORES EN JAVA
INSTANCIAS Y CONSTRUCTORES EN JAVAINSTANCIAS Y CONSTRUCTORES EN JAVA
INSTANCIAS Y CONSTRUCTORES EN JAVA
 
ENTORNO DE DESARROLLO, ESTRUTURA GENERAL DE UN PROGRAMA
ENTORNO DE DESARROLLO, ESTRUTURA GENERAL DE UN PROGRAMAENTORNO DE DESARROLLO, ESTRUTURA GENERAL DE UN PROGRAMA
ENTORNO DE DESARROLLO, ESTRUTURA GENERAL DE UN PROGRAMA
 
Lenguaje de programacion java, conceptos
Lenguaje de programacion java, conceptosLenguaje de programacion java, conceptos
Lenguaje de programacion java, conceptos
 
Principios fundamentales de la programación orientado a objetos
 Principios fundamentales de la programación orientado a objetos  Principios fundamentales de la programación orientado a objetos
Principios fundamentales de la programación orientado a objetos
 
Introduccion al lenguage java
Introduccion al lenguage javaIntroduccion al lenguage java
Introduccion al lenguage java
 
Programar aplicaciones windows forms
Programar aplicaciones windows formsProgramar aplicaciones windows forms
Programar aplicaciones windows forms
 

Último

R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaarkananubis
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 

Último (20)

R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en mina
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 

Programacion orientada a objetos 2

  • 2. El lenguaje de programación Java 2 Constructores • Procedimiento con el mismo nombre que la clase • Se invoca automáticamente cada vez que se crea un objeto de la clase • No pueden especificar tipos ni valores de retorno • Permite sobrecarga para especificar formas distintas de inicializar los objetos • Si no se define, el compilador crea uno por defecto sin argumentos que inicializa los atributos a los valores por defecto • El programador también puede definir un constructor sin argumentos.
  • 3. El lenguaje de programación Java 3 Constructor de copia public class Ejemplo{ private int at1; … public Ejemplo (Ejemplo e){ at1 = e.at1; } }
  • 4. 4 Ejemplo: Clase Contador v1 public class Contador{ // Variables de instancia private int valor; // Constructores public Contador (){ valor = 0; } public void incrementar(){ valor++; } public int getValor(){ return valor; } }
  • 5. El lenguaje de programación Java 5 semántica referencia!!! Creación de objetos • Un objeto es una instancia de una clase. • La creación de un objeto se realiza en tres pasos – Declaración, proporcionar un nombre al objeto Contador miContador; (null) – Instanciación, asignar memoria al objeto miContador = new Contador(); objContador – Inicialización, opcionalmente se pueden proporcionar valores iniciales a las variables de instancia del objeto en la declaración o mediante CONSTRUCTORES.
  • 6. El lenguaje de programación Java 6 Ejemplo. Clase de prueba v1 public class TestContador{ public static void main (String [] args){ Contador c = new Contador(); c.incrementar(); c.incrementar(); System.out.println(“C = “ + c.getValor()); } }
  • 7. El lenguaje de programación Java 7 Igualdad vs. Identidad ¡¡OJO!! == y != compara REFERENCIAS de manera que: Contador c1 = new Contador(); Contador c2 = new Contador(); c1 == c2 --> false, luego c1!=c2 c1.equals(c2) --> true compara el CONTENIDO de los objetos si lo redefinimos en la clase (por defecto es igual que ==) 47 0 c2 valor valorInicial 47 0 c1 valor valorInicial
  • 8. El lenguaje de programación Java 8 this • Invocación a otro de los constructores de la clase: public Contador (int i) { valor=i; valorInicial=i; } public Contador(){ this(0); } • Instancia actual: – Pasar el objeto actual como parámetro de otro método servicio.añadir(this); – En cualquier método del objeto actual this.otroMetodo();
  • 9. El lenguaje de programación Java 9 Reglas de alcance • Porción del programa en el que se puede hacer referencia al identificador • Un identificador debe ser único dentro de su ámbito • Alcance de CLASE: – los métodos de una clase pueden modificar directamente los atributos de clase y de instancia – Un método de clase (static) sólo puede acceder a atributos de clase. • Alcance de Bloque: – variables locales y parámetros de un método – cuando se anidan los bloques y existen dos identificadores con nombres iguales el compilador da error de sintaxis (variable ya definida) – si una variable local tiene igual nombre que un atributo de la clase éste queda oculto.
  • 10. El lenguaje de programación Java 10 Reglas de alcance class MiClase{ … public static void metodo1(…){ { …//bloque } } public void metodo2(…){ … } } variables de clase parámetros variables locales var. de instancia parámetros variables locales
  • 11. El lenguaje de programación Java 11 El método main • Clase que conduce la aplicación • Al ejecutar el programa se busca el método main que contiene dicha clase: public class Eco { public static void main (String[] args){ for (int i = 0; i<args.length;i++) System.out.print(args[i] + “ “); } } • String[] args: parámetros del programa • Ejemplo de invocación: java Eco repite esto • Puede haber más de un main, pero sólo se ejecutará uno
  • 12. El lenguaje de programación Java 12 Normas de estilo No es que existan reglas pero es conveniente seguir unas normas para que el código sea mas legible: • nombre de CLASE empieza por Mayúsculas • nombre de métodos y atributos por minúsculas • las CONSTANTES con MAYÚSCULAS completamente • cuando empieza una nueva palabra la ponemos en mayúsculas ej: dibujarRectangulo
  • 13. 13 Ejemplo: Clase Contador v2 (1/2) public class Contador{ // Variable de clase private static int nextCodigo=1; // Variables de instancia private int codigo; private int valor; private int valorInicial; private int step; // Constructores public Contador (int valor, int step){ codigo =nextCodigo; this.valor = valor; valorInicial = valor; this.step = step; ++nextCodigo; } public Contador(){ this(0,1); }
  • 14. El lenguaje de programación Java 14 Ejemplo: Clase Contador v2 (2/2) // Métodos de instancia public void incrementar(){ valor+=step; } public void decrementar(){ if (valor>=step) valor-=step; else valor=0; } public void reset(){ valor=valorInicial; } public int getValor(){ return valor; } public int getCodigo(){ return codigo; } }
  • 15. El lenguaje de programación Java 15 Ejemplo. Clase de prueba public class TestContador{ public static void main (String [] args){ Contador c1 = new Contador(); Contador c2 = new Contador (0, 10); c1.incrementar(); c2.incrementar(); System.out.println(“C1 = “ + c1.getValor()); System.out.println(“C2 = “ + c2.getValor()); } }
  • 16. 16 Paquetes • Agrupar todas las clases relacionadas //MiClass.java package miBiblioteca; public class MiClase{ //... • Se coloca al comienzo del fichero • Indica que las clases públicas que contenga está accesible a cualquiera que incluya: import miBiblioteca.MiClase; o bien import miBiblioteca.*; • Las clases que no tienen un nombre de paquete están en el paquete por defecto (Default Package) • Soporta el concepto de jerarquía de paquetes (estilo directorio) ej: import miPaquete.miSubPaquete.MiClase;
  • 17. El lenguaje de programación Java 17 Control de acceso • Designar qué clases de una biblioteca (miBiblio) están disponibles desde fuera del paquete • Controlan si el cliente puede crear objetos de la clase public class MiClase { ... } Entonces import miBilio.MiClase; • Modificador de acceso por omisión indica visibilidad a nivel de paquete. – Tanto la clase como atributos y métodos. • Una clase NUNCA puede ser private.
  • 18. El lenguaje de programación Java 18 Estructura de un proyecto modelo Contador valor sumar() restar() vista VentanaContador ... ... Contiene nom_proyecto.jpx Ficheros .class Ficheros .java • Una carpeta por cada paquete • Cada carpeta contiene los ficheros corres- pondientes a las clases del paquete. •Coincidencia EXACTA de nombres.
  • 19. El lenguaje de programación Java 19 Paquetes básicos del sistema • java.lang: para funciones del lenguaje • java.util: para utilidades adicionales • java.io: para manejo de ficheros • java.awt: para diseño gráfico e interfaz de usuario • java.awt.event: para gestionar eventos • javax.swing: nuevo diseño de GUI • java.net: para comunicaciones …
  • 20. El lenguaje de programación Java 20 Comentarios • Hay tres tipos de 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 justo antes del elemento (clase, var, met) */ • Los comentarios de documentación pueden llevar etiquetas • La documentación se genera con javadoc en formato html
  • 21. El lenguaje de programación Java 21 ... Comentarios Las etiquetas pueden ser: @see <referencia a otra clase> - Etiquetas de documentación de clases: @version <información sobre la versión> @author <nombre autor> - Etiquetas de documentación de métodos: @param <nombre argumento><descripción> @return <descripción> @exception <excepción> - Otras: (no aparece en la documentación) @todo <comentario sobre algún tema pendiente>