SlideShare una empresa de Scribd logo
1 de 35
MÓDULO 3 INTRODUCCIÓN A JAVA 3.5 CREANDO CLASES 40 HORAS Jesús Muñoz jesus@iluego.com
Contenidos tema 3 – Introducción a Java Comenzamos Bases del lenguaje Java Programación Orientada a Objetos (OOP) Clases y objetos Creando clases Paquetes y java classpath Javabeans Herencia Clases abstractas e interfaces Polimorfismo Clases internas Excepciones Logging Networking 2
3 Contenidos de este tema Clases y objetos Definiendo clases propias Variables instancia vs. clase Variables instancia Variables clase Declaración de métodos Getters y setters Múltiples returns Métodos static Sobrecarga de métodos Constructores Constructor this Referencia this Modificadores de acceso
Conceptos básicos 4 Clases y objetos Definiendo clases propias Variables instancia vs. clase Variables instancia Variables clase Declaración de métodos Getters y setters Múltiples returns Métodos static Sobrecarga de métodos Constructores Constructor this Referencia this Modificadores de acceso
5 Definiendo clases propias public class StudentRecord { //código… }
Conceptos básicos 6 Clases y objetos Definiendo clases propias Variables instancia vs. clase Variables instancia Variables clase Declaración de métodos Getters y setters Múltiples returns Métodos static Sobrecarga de métodos Constructores Constructor this Referencia this Modificadores de acceso
7 Variables instancia vs. clase Variables instancia Pertenece a la instancia El valor de la variable es diferente de una instancia a otra Variables clase (static variables) Pertenece a la clase Esto significa que el comparte el valor para todas las instancias de la misma clase
Conceptos básicos 8 Clases y objetos Definiendo clases propias Variables instancia vs. clase Variables instancia Variables clase Declaración de métodos Getters y setters Múltiples returns Métodos static Sobrecarga de métodos Constructores Constructor this Referencia this Modificadores de acceso
9 Variables instancia Declarar cada variable en una línea Las variables de instancia, como otras variables, deben comenzar con letra minúscula Usar un tipo de datos apropiado para cada variable declarada Declarar las variables como privadas, de tal forma que sólo los métodos de la instancia puedan acceder a ellas Encapsulación
Conceptos básicos 10 Clases y objetos Definiendo clases propias Variables instancia vs. clase Variables instancia Variables clase Declaración de métodos Getters y setters Múltiples returns Métodos static Sobrecarga de métodos Constructores Constructor this Referencia this Modificadores de acceso
11 Variables clase public class StudentRecord { //static variables we have declared private static int studentCount; //we'll add more code here later } Usamos la palabra reservada static
Conceptos básicos 12 Clases y objetos Definiendo clases propias Variables instancia vs. clase Variables instancia Variables clase Declaración de métodos Getters y setters Múltiples returns Métodos static Sobrecarga de métodos Constructores Constructor this Referencia this Modificadores de acceso
13 Declaración de MÉTODOS public class StudentRecord { private String name; // some code // An example in which the business logic is // used to return a value on an accessor method public double getAverage(){ double result = 0; result=(mathGrade+englishGrade+scienceGrade)/3; return result; } }
14 Declaración de MÉTODOS Los métodos deben: Comenzar con letra minúscula Deben ser verbos Añadir documentación suficiente antes de la declaración del método. Javadoc style.
Conceptos básicos 15 Clases y objetos Definiendo clases propias Variables instancia vs. clase Variables instancia Variables clase Declaración de métodos Getters y setters Múltiples returns Métodos static Sobrecarga de métodos Constructores Constructor this Referencia this Modificadores de acceso
16 Getters y Setters Son métodos que ofrecen acceso de lectura (get) y escritura (set) a las propiedades de la instancia o de la clase.
Conceptos básicos 17 Clases y objetos Definiendo clases propias Variables instancia vs. clase Variables instancia Variables clase Declaración de métodos Getters y setters Múltiples returns Métodos static Sobrecarga de métodos Constructores Constructor this Referencia this Modificadores de acceso
18 Múltiples RETURNS En un método se pueden tener múltiples sentencias de return public String getNumberInWords( int num ){ String defaultNum = "zero"; if( num == 1 ){ return "one"; //return a constant } else if( num == 2){ return "two"; //return a constant } //return a variable return defaultNum; }
Conceptos básicos 19 Clases y objetos Definiendo clases propias Variables instancia vs. clase Variables instancia Variables clase Declaración de métodos Getters y setters Múltiples returns Métodos static Sobrecarga de métodos Constructores Constructor this Referencia this Modificadores de acceso
20 Métodos STATIC public class StudentRecord { private static int studentCount; public static int getStudentCount(){ return studentCount; } }
Conceptos básicos 21 Clases y objetos Definiendo clases propias Variables instancia vs. clase Variables instancia Variables clase Declaración de métodos Getters y setters Múltiples returns Métodos static Sobrecarga de métodos Constructores Constructor this Referencia this Modificadores de acceso
22 Sobrecarga de métodos Sobrecarga de métodos: Permite varios métodos con el mismo nombre aunque con diferente implementacion y diferentes tipos de valores Puede ser usado cuando la misma operación tiene diferentes implementaciones Recordar siempre que los métodos sobrecargados tienen las siguientes propiedades: Mismo nombre de método Diferentes parámetros o diferente número de parámetros Tipos de datos de retorno distintos o iguales
23 Sobrecarga de métodos Sobrecarga de métodos: Permite varios métodos con el mismo nombre aunque con diferente implementacion y diferentes tipos de valores Puede ser usado cuando la misma operación tiene diferentes implementaciones Recordar siempre que los métodos sobrecargados tienen las siguientes propiedades: Mismo nombre de método Diferentes parámetros o diferente número de parámetros Tipos de datos de retorno distintos o iguales
24 Sobrecarga de métodos public void print ( String temp ){ System.out.println("Name:" + name); System.out.println("Address:" + address); System.out.println("Age:" + age); } public void print (double eGrade, double mGrade, double sGrade) System.out.println("Name:" + name); System.out.println("Math Grade:" + mGrade); System.out.println("English Grade:" + eGrade); System.out.println("Science Grade:" + sGrade); }
25 Sobrecarga de métodos public static void main( String[] args ) { StudentRecord annaRecord = new StudentRecord(); annaRecord.setName("Anna"); annaRecord.setAddress("Philippines"); annaRecord.setAge(15); annaRecord.setMathGrade(80); annaRecord.setEnglishGrade(95.5); annaRecord.setScienceGrade(100); //overloaded methods annaRecord.print( annaRecord.getName() ); annaRecord.print( annaRecord.getEnglishGrade(), annaRecord.getMathGrade(), annaRecord.getScienceGrade()); }
Conceptos básicos 26 Clases y objetos Definiendo clases propias Variables instancia vs. clase Variables instancia Variables clase Declaración de métodos Getters y setters Múltiples returns Métodos static Sobrecarga de métodos Constructores Constructor this Referencia this Modificadores de acceso
27 Constructores Los constructores son importantes en la instanciación de objetos. Es un método especial en el cual se definen las inicializaciones. Características de un constructor: Los constructores tienen el mismo nombre de clase Un constructor es como un método ordinario, sin embargo sólo se puede definir lo siguiente en la cabecera del constructor: Scope de accesibilidad (public, protected, private) Parámetros si hay Los constructores no pueden retornar ningún valor No se puede llamar a un constructor directamente, sólo puede ser llamado mediante el uso del operador new durante la instanciación Se puede sobrecargar
Conceptos básicos 28 Clases y objetos Definiendo clases propias Variables instancia vs. clase Variables instancia Variables clase Declaración de métodos Getters y setters Múltiples returns Métodos static Sobrecarga de métodos Constructores Constructor this Referencia this Modificadores de acceso
29 Constructor THIS Las llamadas al constructor pueden ser encadenadas, es decir, desde un constructor se puede llamar a otro Usamos this() para esta llamada Hay varias cosas a recordar cuando usamos el constructor this(): Ha de ser la primera sentencia del constructor Sólo puede usarse en la definición de un constructor. Esta llamada puede ir seguida de otras llamadas más o menos relevantes.
Conceptos básicos 30 Clases y objetos Definiendo clases propias Variables instancia vs. clase Variables instancia Variables clase Declaración de métodos Getters y setters Múltiples returns Métodos static Sobrecarga de métodos Constructores Constructor this Referencia this Modificadores de acceso
31 Referencia THIS La referencia this: Referencia la instancia de objeto actual Usado para el acceso a las variables de la instancia para diferenciarlas de los parámetros Para usar la referencia a this, usamos: this.<nombreDeLaInstancia> Sólo se pueden referenciar las instancias, pero no las clases estáticas
Conceptos básicos 32 Clases y objetos Definiendo clases propias Variables instancia vs. clase Variables instancia Variables clase Declaración de métodos Getters y setters Múltiples returns Métodos static Sobrecarga de métodos Constructores Constructor this Referencia this Modificadores de acceso
33 Modificadores de acceso Hay 4 tipos diferentes de modificadores de acceso: public (menos restrictivo) protected private (más restrictivo), default Los 3 modificadores de acceso son escritos explícitamente en el código para indicar los tipos de acceso. Private es el que se usa por defecto si no se pone nada.
34 Modificadores de acceso Hay 4 tipos diferentes de modificadores de acceso: public (menos restrictivo) protected private (más restrictivo), default Los 3 modificadores de acceso son escritos explícitamente en el código para indicar los tipos de acceso. Private es el que se usa por defecto si no se pone nada.
Es importante que recordeis… “Si haces todos los días lo mismo no llegarás más lejos de lo que otras veces has llegado” Adelante!!! Jesús Muñoz jesus@iluego.com

Más contenido relacionado

La actualidad más candente

Programación 3: clases derivadas y polimorfismo
Programación 3: clases derivadas y polimorfismoProgramación 3: clases derivadas y polimorfismo
Programación 3: clases derivadas y polimorfismoAngel Vázquez Patiño
 
Unidad 2 ProgramacióN Orientada A Objetos (Repaso)
Unidad 2 ProgramacióN Orientada A Objetos (Repaso)Unidad 2 ProgramacióN Orientada A Objetos (Repaso)
Unidad 2 ProgramacióN Orientada A Objetos (Repaso)Sergio Sanchez
 
2) introduccion al lenguaje java
2) introduccion al lenguaje java2) introduccion al lenguaje java
2) introduccion al lenguaje javaMargarita Romero
 
Programación Orientada a Objetos en Java - Parte I 2015
Programación Orientada a Objetos en Java - Parte I 2015Programación Orientada a Objetos en Java - Parte I 2015
Programación Orientada a Objetos en Java - Parte I 2015Renny Batista
 
Cesar adrian barrios alarcon unidad 2
Cesar adrian barrios alarcon      unidad 2       Cesar adrian barrios alarcon      unidad 2
Cesar adrian barrios alarcon unidad 2 Cesar Mcfly
 
Clases metodos y atributos
Clases metodos y atributosClases metodos y atributos
Clases metodos y atributosRobert Wolf
 
Metodos Get y Set, finalmente revelados.
Metodos Get y Set, finalmente revelados.Metodos Get y Set, finalmente revelados.
Metodos Get y Set, finalmente revelados.Juan Carlos Espinoza
 
Fundamentos de Java
Fundamentos de JavaFundamentos de Java
Fundamentos de Javamartosfre
 
programacion orientada a objetos
programacion orientada a objetosprogramacion orientada a objetos
programacion orientada a objetosale8819
 
Jyoc java-cap05 metodos (funciones)
Jyoc java-cap05 metodos (funciones)Jyoc java-cap05 metodos (funciones)
Jyoc java-cap05 metodos (funciones)Jyoc X
 
Programación ii presentación tema 5
Programación ii presentación tema 5Programación ii presentación tema 5
Programación ii presentación tema 5Joel Mieses
 
Fundamentos de Java II
Fundamentos de Java IIFundamentos de Java II
Fundamentos de Java IImartosfre
 
Programación orientada a objetos con c++
Programación orientada a objetos con c++Programación orientada a objetos con c++
Programación orientada a objetos con c++Karime Hernández
 

La actualidad más candente (18)

Programación 3: clases derivadas y polimorfismo
Programación 3: clases derivadas y polimorfismoProgramación 3: clases derivadas y polimorfismo
Programación 3: clases derivadas y polimorfismo
 
Clase 2 Poo
Clase 2 PooClase 2 Poo
Clase 2 Poo
 
Aprendiendo objetos en c++
Aprendiendo objetos en c++Aprendiendo objetos en c++
Aprendiendo objetos en c++
 
03 Oop
03   Oop03   Oop
03 Oop
 
Unidad 2 ProgramacióN Orientada A Objetos (Repaso)
Unidad 2 ProgramacióN Orientada A Objetos (Repaso)Unidad 2 ProgramacióN Orientada A Objetos (Repaso)
Unidad 2 ProgramacióN Orientada A Objetos (Repaso)
 
2) introduccion al lenguaje java
2) introduccion al lenguaje java2) introduccion al lenguaje java
2) introduccion al lenguaje java
 
Programación Orientada a Objetos en Java - Parte I 2015
Programación Orientada a Objetos en Java - Parte I 2015Programación Orientada a Objetos en Java - Parte I 2015
Programación Orientada a Objetos en Java - Parte I 2015
 
Cesar adrian barrios alarcon unidad 2
Cesar adrian barrios alarcon      unidad 2       Cesar adrian barrios alarcon      unidad 2
Cesar adrian barrios alarcon unidad 2
 
Clases metodos y atributos
Clases metodos y atributosClases metodos y atributos
Clases metodos y atributos
 
Java
JavaJava
Java
 
Metodos Get y Set, finalmente revelados.
Metodos Get y Set, finalmente revelados.Metodos Get y Set, finalmente revelados.
Metodos Get y Set, finalmente revelados.
 
Fundamentos de Java
Fundamentos de JavaFundamentos de Java
Fundamentos de Java
 
programacion orientada a objetos
programacion orientada a objetosprogramacion orientada a objetos
programacion orientada a objetos
 
Jyoc java-cap05 metodos (funciones)
Jyoc java-cap05 metodos (funciones)Jyoc java-cap05 metodos (funciones)
Jyoc java-cap05 metodos (funciones)
 
Programación ii presentación tema 5
Programación ii presentación tema 5Programación ii presentación tema 5
Programación ii presentación tema 5
 
Fundamentos de Java II
Fundamentos de Java IIFundamentos de Java II
Fundamentos de Java II
 
Poo 1
Poo 1Poo 1
Poo 1
 
Programación orientada a objetos con c++
Programación orientada a objetos con c++Programación orientada a objetos con c++
Programación orientada a objetos con c++
 

Destacado

Comunicacion entre formularios HTML y paginas JSP
Comunicacion entre formularios HTML y paginas JSPComunicacion entre formularios HTML y paginas JSP
Comunicacion entre formularios HTML y paginas JSPDanii Rodriguez
 
Servlets y jsp
Servlets y jspServlets y jsp
Servlets y jspdtbadboy0
 
Manual programacion - java - jsp & xml
Manual   programacion - java - jsp & xmlManual   programacion - java - jsp & xml
Manual programacion - java - jsp & xmlgilhorak
 
Presentación del Curso Sistemas de Conmutación en Unicauca
Presentación del Curso Sistemas de Conmutación en UnicaucaPresentación del Curso Sistemas de Conmutación en Unicauca
Presentación del Curso Sistemas de Conmutación en UnicaucaEng. Fernando Mendioroz, MSc.
 

Destacado (6)

Comunicacion entre formularios HTML y paginas JSP
Comunicacion entre formularios HTML y paginas JSPComunicacion entre formularios HTML y paginas JSP
Comunicacion entre formularios HTML y paginas JSP
 
JSP
JSPJSP
JSP
 
Servlets y jsp
Servlets y jspServlets y jsp
Servlets y jsp
 
Manual programacion - java - jsp & xml
Manual   programacion - java - jsp & xmlManual   programacion - java - jsp & xml
Manual programacion - java - jsp & xml
 
Curso Jsp
Curso JspCurso Jsp
Curso Jsp
 
Presentación del Curso Sistemas de Conmutación en Unicauca
Presentación del Curso Sistemas de Conmutación en UnicaucaPresentación del Curso Sistemas de Conmutación en Unicauca
Presentación del Curso Sistemas de Conmutación en Unicauca
 

Similar a 05 Creando Clases

Mapa conceptual del contenido de la unidad 4
Mapa conceptual del contenido de la unidad 4Mapa conceptual del contenido de la unidad 4
Mapa conceptual del contenido de la unidad 4K Manuel TN
 
Mapa conceptual del contenido de la unidad 4
Mapa conceptual del contenido de la unidad 4Mapa conceptual del contenido de la unidad 4
Mapa conceptual del contenido de la unidad 4K Manuel TN
 
2introduccionallenguajejava 141109171757-conversion-gate02
2introduccionallenguajejava 141109171757-conversion-gate022introduccionallenguajejava 141109171757-conversion-gate02
2introduccionallenguajejava 141109171757-conversion-gate02Krizztiina Pacheko
 
Encadenamiento de refactorings para generar cambios Agiles de Diseño
Encadenamiento de refactorings para generar cambios Agiles de DiseñoEncadenamiento de refactorings para generar cambios Agiles de Diseño
Encadenamiento de refactorings para generar cambios Agiles de DiseñoHernan Wilkinson
 
Variables y metodos de instancia
Variables y metodos de instanciaVariables y metodos de instancia
Variables y metodos de instanciaRobert Wolf
 
Sesion 07 nivel_acceso_miembros_clases
Sesion 07 nivel_acceso_miembros_clasesSesion 07 nivel_acceso_miembros_clases
Sesion 07 nivel_acceso_miembros_clasesecodereck
 
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
 
Elementos caracteristicos de la poo
Elementos caracteristicos de la pooElementos caracteristicos de la poo
Elementos caracteristicos de la pooMagda Fernandez
 
Programacion orientada a objetos 2
Programacion orientada a objetos 2Programacion orientada a objetos 2
Programacion orientada a objetos 2mellcv
 
Proyecto en android completado
Proyecto en android completadoProyecto en android completado
Proyecto en android completadoKai Exo
 

Similar a 05 Creando Clases (20)

Clase viii
Clase viiiClase viii
Clase viii
 
Tutorial 3
Tutorial 3Tutorial 3
Tutorial 3
 
Mapa conceptual del contenido de la unidad 4
Mapa conceptual del contenido de la unidad 4Mapa conceptual del contenido de la unidad 4
Mapa conceptual del contenido de la unidad 4
 
Mapa conceptual del contenido de la unidad 4
Mapa conceptual del contenido de la unidad 4Mapa conceptual del contenido de la unidad 4
Mapa conceptual del contenido de la unidad 4
 
Semana9b Vbr
Semana9b VbrSemana9b Vbr
Semana9b Vbr
 
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
 
Encadenamiento de refactorings para generar cambios Agiles de Diseño
Encadenamiento de refactorings para generar cambios Agiles de DiseñoEncadenamiento de refactorings para generar cambios Agiles de Diseño
Encadenamiento de refactorings para generar cambios Agiles de Diseño
 
Intro Java
Intro JavaIntro Java
Intro Java
 
Datos previos
Datos previosDatos previos
Datos previos
 
Variables y metodos de instancia
Variables y metodos de instanciaVariables y metodos de instancia
Variables y metodos de instancia
 
Sesion 07 nivel_acceso_miembros_clases
Sesion 07 nivel_acceso_miembros_clasesSesion 07 nivel_acceso_miembros_clases
Sesion 07 nivel_acceso_miembros_clases
 
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
 
Elementos caracteristicos de la poo
Elementos caracteristicos de la pooElementos caracteristicos de la poo
Elementos caracteristicos de la poo
 
recurso6 (5).pdf
recurso6 (5).pdfrecurso6 (5).pdf
recurso6 (5).pdf
 
Programacion orientada a objetos 2
Programacion orientada a objetos 2Programacion orientada a objetos 2
Programacion orientada a objetos 2
 
Presentacion4
Presentacion4Presentacion4
Presentacion4
 
1 -programacion_oo
1  -programacion_oo1  -programacion_oo
1 -programacion_oo
 
Proyecto en android completado
Proyecto en android completadoProyecto en android completado
Proyecto en android completado
 
MéTodos En Java
MéTodos En JavaMéTodos En Java
MéTodos En Java
 

Más de Network Sens

J2EE - 01 Arquitectura Web
J2EE - 01   Arquitectura WebJ2EE - 01   Arquitectura Web
J2EE - 01 Arquitectura WebNetwork Sens
 
09 Clases Abstractas E Interfaces
09   Clases Abstractas E Interfaces09   Clases Abstractas E Interfaces
09 Clases Abstractas E InterfacesNetwork Sens
 
01 - Introducción
01 - Introducción01 - Introducción
01 - IntroducciónNetwork Sens
 
06 Paquetes Y Java Classpath
06   Paquetes Y Java Classpath06   Paquetes Y Java Classpath
06 Paquetes Y Java ClasspathNetwork Sens
 
04 Clases Y Objetos
04   Clases Y Objetos04   Clases Y Objetos
04 Clases Y ObjetosNetwork Sens
 
02 Bases Del Lenguaje Java
02   Bases Del Lenguaje Java02   Bases Del Lenguaje Java
02 Bases Del Lenguaje JavaNetwork Sens
 

Más de Network Sens (12)

J2EE - 01 Arquitectura Web
J2EE - 01   Arquitectura WebJ2EE - 01   Arquitectura Web
J2EE - 01 Arquitectura Web
 
13 Networking
13   Networking13   Networking
13 Networking
 
12 Logging
12   Logging12   Logging
12 Logging
 
11 Excepciones
11   Excepciones11   Excepciones
11 Excepciones
 
10 Polimorfismo
10   Polimorfismo10   Polimorfismo
10 Polimorfismo
 
09 Clases Abstractas E Interfaces
09   Clases Abstractas E Interfaces09   Clases Abstractas E Interfaces
09 Clases Abstractas E Interfaces
 
08 Herencia
08   Herencia08   Herencia
08 Herencia
 
07 Javabeans
07   Javabeans07   Javabeans
07 Javabeans
 
01 - Introducción
01 - Introducción01 - Introducción
01 - Introducción
 
06 Paquetes Y Java Classpath
06   Paquetes Y Java Classpath06   Paquetes Y Java Classpath
06 Paquetes Y Java Classpath
 
04 Clases Y Objetos
04   Clases Y Objetos04   Clases Y Objetos
04 Clases Y Objetos
 
02 Bases Del Lenguaje Java
02   Bases Del Lenguaje Java02   Bases Del Lenguaje Java
02 Bases Del Lenguaje Java
 

Último

Trabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointTrabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointValerioIvanDePazLoja
 
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docxPLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docxhasbleidit
 
Clasificación de Conjuntos de Datos Desequilibrados.pptx
Clasificación de Conjuntos de Datos Desequilibrados.pptxClasificación de Conjuntos de Datos Desequilibrados.pptx
Clasificación de Conjuntos de Datos Desequilibrados.pptxCarolina Bujaico
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1ivanapaterninar
 
La electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfLa electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfcristianrb0324
 
David_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptxDavid_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptxDAVIDROBERTOGALLEGOS
 
Viguetas Pretensadas en concreto armado
Viguetas Pretensadas  en concreto armadoViguetas Pretensadas  en concreto armado
Viguetas Pretensadas en concreto armadob7fwtwtfxf
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
Herramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfHerramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfKarinaCambero3
 
Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)JuanStevenTrujilloCh
 
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024u20211198540
 
Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosAlbanyMartinez7
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersIván López Martín
 
Slideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan GerenciaSlideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan Gerenciacubillannoly
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfFernandoOblitasVivan
 
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guiaORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guiaYeimys Ch
 
Nomisam: Base de Datos para Gestión de Nómina
Nomisam: Base de Datos para Gestión de NóminaNomisam: Base de Datos para Gestión de Nómina
Nomisam: Base de Datos para Gestión de Nóminacuellosameidy
 
Actividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolarActividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolar24roberto21
 
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptxHugoGutierrez99
 

Último (20)

Trabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointTrabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power Point
 
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docxPLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
 
Clasificación de Conjuntos de Datos Desequilibrados.pptx
Clasificación de Conjuntos de Datos Desequilibrados.pptxClasificación de Conjuntos de Datos Desequilibrados.pptx
Clasificación de Conjuntos de Datos Desequilibrados.pptx
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1
 
La electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfLa electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdf
 
David_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptxDavid_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptx
 
Viguetas Pretensadas en concreto armado
Viguetas Pretensadas  en concreto armadoViguetas Pretensadas  en concreto armado
Viguetas Pretensadas en concreto armado
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
Herramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfHerramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdf
 
Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)
 
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
 
Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos Juridicos
 
El camino a convertirse en Microsoft MVP
El camino a convertirse en Microsoft MVPEl camino a convertirse en Microsoft MVP
El camino a convertirse en Microsoft MVP
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 Testcontainers
 
Slideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan GerenciaSlideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan Gerencia
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdf
 
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guiaORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
 
Nomisam: Base de Datos para Gestión de Nómina
Nomisam: Base de Datos para Gestión de NóminaNomisam: Base de Datos para Gestión de Nómina
Nomisam: Base de Datos para Gestión de Nómina
 
Actividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolarActividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolar
 
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
 

05 Creando Clases

  • 1. MÓDULO 3 INTRODUCCIÓN A JAVA 3.5 CREANDO CLASES 40 HORAS Jesús Muñoz jesus@iluego.com
  • 2. Contenidos tema 3 – Introducción a Java Comenzamos Bases del lenguaje Java Programación Orientada a Objetos (OOP) Clases y objetos Creando clases Paquetes y java classpath Javabeans Herencia Clases abstractas e interfaces Polimorfismo Clases internas Excepciones Logging Networking 2
  • 3. 3 Contenidos de este tema Clases y objetos Definiendo clases propias Variables instancia vs. clase Variables instancia Variables clase Declaración de métodos Getters y setters Múltiples returns Métodos static Sobrecarga de métodos Constructores Constructor this Referencia this Modificadores de acceso
  • 4. Conceptos básicos 4 Clases y objetos Definiendo clases propias Variables instancia vs. clase Variables instancia Variables clase Declaración de métodos Getters y setters Múltiples returns Métodos static Sobrecarga de métodos Constructores Constructor this Referencia this Modificadores de acceso
  • 5. 5 Definiendo clases propias public class StudentRecord { //código… }
  • 6. Conceptos básicos 6 Clases y objetos Definiendo clases propias Variables instancia vs. clase Variables instancia Variables clase Declaración de métodos Getters y setters Múltiples returns Métodos static Sobrecarga de métodos Constructores Constructor this Referencia this Modificadores de acceso
  • 7. 7 Variables instancia vs. clase Variables instancia Pertenece a la instancia El valor de la variable es diferente de una instancia a otra Variables clase (static variables) Pertenece a la clase Esto significa que el comparte el valor para todas las instancias de la misma clase
  • 8. Conceptos básicos 8 Clases y objetos Definiendo clases propias Variables instancia vs. clase Variables instancia Variables clase Declaración de métodos Getters y setters Múltiples returns Métodos static Sobrecarga de métodos Constructores Constructor this Referencia this Modificadores de acceso
  • 9. 9 Variables instancia Declarar cada variable en una línea Las variables de instancia, como otras variables, deben comenzar con letra minúscula Usar un tipo de datos apropiado para cada variable declarada Declarar las variables como privadas, de tal forma que sólo los métodos de la instancia puedan acceder a ellas Encapsulación
  • 10. Conceptos básicos 10 Clases y objetos Definiendo clases propias Variables instancia vs. clase Variables instancia Variables clase Declaración de métodos Getters y setters Múltiples returns Métodos static Sobrecarga de métodos Constructores Constructor this Referencia this Modificadores de acceso
  • 11. 11 Variables clase public class StudentRecord { //static variables we have declared private static int studentCount; //we'll add more code here later } Usamos la palabra reservada static
  • 12. Conceptos básicos 12 Clases y objetos Definiendo clases propias Variables instancia vs. clase Variables instancia Variables clase Declaración de métodos Getters y setters Múltiples returns Métodos static Sobrecarga de métodos Constructores Constructor this Referencia this Modificadores de acceso
  • 13. 13 Declaración de MÉTODOS public class StudentRecord { private String name; // some code // An example in which the business logic is // used to return a value on an accessor method public double getAverage(){ double result = 0; result=(mathGrade+englishGrade+scienceGrade)/3; return result; } }
  • 14. 14 Declaración de MÉTODOS Los métodos deben: Comenzar con letra minúscula Deben ser verbos Añadir documentación suficiente antes de la declaración del método. Javadoc style.
  • 15. Conceptos básicos 15 Clases y objetos Definiendo clases propias Variables instancia vs. clase Variables instancia Variables clase Declaración de métodos Getters y setters Múltiples returns Métodos static Sobrecarga de métodos Constructores Constructor this Referencia this Modificadores de acceso
  • 16. 16 Getters y Setters Son métodos que ofrecen acceso de lectura (get) y escritura (set) a las propiedades de la instancia o de la clase.
  • 17. Conceptos básicos 17 Clases y objetos Definiendo clases propias Variables instancia vs. clase Variables instancia Variables clase Declaración de métodos Getters y setters Múltiples returns Métodos static Sobrecarga de métodos Constructores Constructor this Referencia this Modificadores de acceso
  • 18. 18 Múltiples RETURNS En un método se pueden tener múltiples sentencias de return public String getNumberInWords( int num ){ String defaultNum = "zero"; if( num == 1 ){ return "one"; //return a constant } else if( num == 2){ return "two"; //return a constant } //return a variable return defaultNum; }
  • 19. Conceptos básicos 19 Clases y objetos Definiendo clases propias Variables instancia vs. clase Variables instancia Variables clase Declaración de métodos Getters y setters Múltiples returns Métodos static Sobrecarga de métodos Constructores Constructor this Referencia this Modificadores de acceso
  • 20. 20 Métodos STATIC public class StudentRecord { private static int studentCount; public static int getStudentCount(){ return studentCount; } }
  • 21. Conceptos básicos 21 Clases y objetos Definiendo clases propias Variables instancia vs. clase Variables instancia Variables clase Declaración de métodos Getters y setters Múltiples returns Métodos static Sobrecarga de métodos Constructores Constructor this Referencia this Modificadores de acceso
  • 22. 22 Sobrecarga de métodos Sobrecarga de métodos: Permite varios métodos con el mismo nombre aunque con diferente implementacion y diferentes tipos de valores Puede ser usado cuando la misma operación tiene diferentes implementaciones Recordar siempre que los métodos sobrecargados tienen las siguientes propiedades: Mismo nombre de método Diferentes parámetros o diferente número de parámetros Tipos de datos de retorno distintos o iguales
  • 23. 23 Sobrecarga de métodos Sobrecarga de métodos: Permite varios métodos con el mismo nombre aunque con diferente implementacion y diferentes tipos de valores Puede ser usado cuando la misma operación tiene diferentes implementaciones Recordar siempre que los métodos sobrecargados tienen las siguientes propiedades: Mismo nombre de método Diferentes parámetros o diferente número de parámetros Tipos de datos de retorno distintos o iguales
  • 24. 24 Sobrecarga de métodos public void print ( String temp ){ System.out.println("Name:" + name); System.out.println("Address:" + address); System.out.println("Age:" + age); } public void print (double eGrade, double mGrade, double sGrade) System.out.println("Name:" + name); System.out.println("Math Grade:" + mGrade); System.out.println("English Grade:" + eGrade); System.out.println("Science Grade:" + sGrade); }
  • 25. 25 Sobrecarga de métodos public static void main( String[] args ) { StudentRecord annaRecord = new StudentRecord(); annaRecord.setName("Anna"); annaRecord.setAddress("Philippines"); annaRecord.setAge(15); annaRecord.setMathGrade(80); annaRecord.setEnglishGrade(95.5); annaRecord.setScienceGrade(100); //overloaded methods annaRecord.print( annaRecord.getName() ); annaRecord.print( annaRecord.getEnglishGrade(), annaRecord.getMathGrade(), annaRecord.getScienceGrade()); }
  • 26. Conceptos básicos 26 Clases y objetos Definiendo clases propias Variables instancia vs. clase Variables instancia Variables clase Declaración de métodos Getters y setters Múltiples returns Métodos static Sobrecarga de métodos Constructores Constructor this Referencia this Modificadores de acceso
  • 27. 27 Constructores Los constructores son importantes en la instanciación de objetos. Es un método especial en el cual se definen las inicializaciones. Características de un constructor: Los constructores tienen el mismo nombre de clase Un constructor es como un método ordinario, sin embargo sólo se puede definir lo siguiente en la cabecera del constructor: Scope de accesibilidad (public, protected, private) Parámetros si hay Los constructores no pueden retornar ningún valor No se puede llamar a un constructor directamente, sólo puede ser llamado mediante el uso del operador new durante la instanciación Se puede sobrecargar
  • 28. Conceptos básicos 28 Clases y objetos Definiendo clases propias Variables instancia vs. clase Variables instancia Variables clase Declaración de métodos Getters y setters Múltiples returns Métodos static Sobrecarga de métodos Constructores Constructor this Referencia this Modificadores de acceso
  • 29. 29 Constructor THIS Las llamadas al constructor pueden ser encadenadas, es decir, desde un constructor se puede llamar a otro Usamos this() para esta llamada Hay varias cosas a recordar cuando usamos el constructor this(): Ha de ser la primera sentencia del constructor Sólo puede usarse en la definición de un constructor. Esta llamada puede ir seguida de otras llamadas más o menos relevantes.
  • 30. Conceptos básicos 30 Clases y objetos Definiendo clases propias Variables instancia vs. clase Variables instancia Variables clase Declaración de métodos Getters y setters Múltiples returns Métodos static Sobrecarga de métodos Constructores Constructor this Referencia this Modificadores de acceso
  • 31. 31 Referencia THIS La referencia this: Referencia la instancia de objeto actual Usado para el acceso a las variables de la instancia para diferenciarlas de los parámetros Para usar la referencia a this, usamos: this.<nombreDeLaInstancia> Sólo se pueden referenciar las instancias, pero no las clases estáticas
  • 32. Conceptos básicos 32 Clases y objetos Definiendo clases propias Variables instancia vs. clase Variables instancia Variables clase Declaración de métodos Getters y setters Múltiples returns Métodos static Sobrecarga de métodos Constructores Constructor this Referencia this Modificadores de acceso
  • 33. 33 Modificadores de acceso Hay 4 tipos diferentes de modificadores de acceso: public (menos restrictivo) protected private (más restrictivo), default Los 3 modificadores de acceso son escritos explícitamente en el código para indicar los tipos de acceso. Private es el que se usa por defecto si no se pone nada.
  • 34. 34 Modificadores de acceso Hay 4 tipos diferentes de modificadores de acceso: public (menos restrictivo) protected private (más restrictivo), default Los 3 modificadores de acceso son escritos explícitamente en el código para indicar los tipos de acceso. Private es el que se usa por defecto si no se pone nada.
  • 35. Es importante que recordeis… “Si haces todos los días lo mismo no llegarás más lejos de lo que otras veces has llegado” Adelante!!! Jesús Muñoz jesus@iluego.com