SlideShare una empresa de Scribd logo
1 de 11
Taller de Programación 
Lenguajes Emergentes 
Conceptos de Orientación a Objetos en 
Java
Agenda 
• Programación Orientada a Objetos 
– Clases y Objetos 
• Tipos de métodos 
• Herencia 
• Herencia múltiple (interfaces) 
10 de Agosto de 2009 Taller de Programación Lenguajes2 Emergentes
Programación Orientada a Objetos 
(OOP) 
• En OOP el principio básico es el 
encapsulamiento 
– Separa el qué (especificación funcional, pública) 
– Del cómo (implementación, privada) 
• OOP también engloba conceptos como 
– Código genérico 
– Herencia 
– Polimorfismo 
• En Java un objeto es una instancia de una clase 
• Un objeto combina datos y operaciones 
10 de Agosto de 2009 Taller de Programación Lenguajes3 Emergentes
Tipos de métodos 
• Constructores 
– Permiten inicializar un objeto 
– Puede haber varios constructores con distinto 
número de parámetros 
– Si no hay constructor definido, los campos del objeto 
se inicializan nulos 
– El constructor debe tener el mismo nombre de la 
clase 
10 de Agosto de 2009 Taller de Programación Lenguajes4 Emergentes
Tipos de métodos 
• Mutators y Accessors 
– Los campos de las clases son típicamente privados 
– Para mirar o cambiar su valor se debe hacer por medio de 
métodos que aíslan los detalles de la implementación 
• toString() 
– La clase Object tiene un método llamado toString() que 
transforma el Objeto en un formato imprimible, este es 
llamado automáticamente cuando se envía el objeto a alguna 
salida (ej.: System.out.println()) 
• equals() 
– La clase Object, también tiene un método llamado equals() 
que se utiliza para ver si dos objetos tienen el mismo valor 
10 de Agosto de 2009 Taller de Programación Lenguajes5 Emergentes
Tipos de métodos 
• this 
– La referencia this identifica al objeto actual 
– Permite acceder los campos propios (ej.: this.valor), 
desde dentro de la clase 
– Permite comparar si el objeto actual es el mismo 
que otro (si son la misma referencia) 
– Puede usarse como constructor 
10 de Agosto de 2009 Taller de Programación Lenguajes6 Emergentes
Tipos de métodos 
• El modificador static 
– En Java se pueden declarar campos, métodos, clases y bloques 
de código con el modificador static 
– Una clase static es un clase interna de nivel superior, visible y 
accesable por todos los objetos de la clase 
– Un método static está asociado a una clase (no a un objeto), 
esto quiere decir que no es necesario “instanciar” la clase para 
utilizarlo (ej.: Integer.parseInt(“1”)); 
– Un campo static funciona de modo similar a un método 
– Un bloque static es ejecutado cuando la clase es cargada o 
instanciada 
10 de Agosto de 2009 Taller de Programación Lenguajes7 Emergentes
Tipos de métodos 
• Packages 
– Agrupan clases 
– Cada clase debe ser precedida por la declaración del 
package 
– Si a un campo o método no se le antepone el 
modificador public o private es visible sólo en el 
package 
10 de Agosto de 2009 Taller de Programación Lenguajes8 Emergentes
Herencia 
• Permite reutilizar el trabajo hecho 
• Se basa en la relación es-un(a) 
– Ejemplos 
• Círculo es-una Figura 
• Auto es-un Vehículo 
• Clase base 
– La clase de la cual se derivan otras 
• Clase derivada 
– Hereda todas las propiedades de la clase base. 
Puede agregar campos y métodos, o redefinir 
métodos 
10 de Agosto de 2009 Taller de Programación Lenguajes9 Emergentes
Herencia 
• Clase derivada 
– Los campos adicionales generalmente son privados 
– Los métodos de la clase base que no se redefinen en 
la clase derivada se heredan sin cambio, excepto por 
el constructor 
– Los métodos que se redefinen tienen prioridad 
– Se pueden agregar nuevos métodos 
– Los métodos públicos se pueden redefinir como 
privados 
10 de Agosto de 2009 Taller de Programación Lenguajes1 E0mergentes
Herencia múltiple 
• En algunos lenguajes, una clase puede heredar de más 
de una clase base. En Java esto no se permite, lo cual 
evita los conflictos que se podrían producir al heredarse 
definiciones incompatibles de métodos y variables. 
• Interfaz 
– Una interfaz es un mecanismo que permite lograr algunos de 
los efectos de la herencia múltiple, sin sus problemas 
– Una interfaz es una clase que sólo tiene métodos públicos 
abstractos y campos públicos estáticos finales 
– Se dice que una clase implementa a la interfaz si provee 
definiciones para todos los métodos abstractos de la interfaz 
– Una clase puede extender sólo a una clase base, pero puede 
implementar muchas interfaces 
10 de Agosto de 2009 Taller de Programación Lenguajes1 E1mergentes

Más contenido relacionado

La actualidad más candente

Fundamentos de Java
Fundamentos de JavaFundamentos de Java
Fundamentos de Javamartosfre
 
Fundamentos de Java II
Fundamentos de Java IIFundamentos de Java II
Fundamentos de Java IImartosfre
 
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
 
Poo Java
Poo JavaPoo Java
Poo Javaeccutpl
 
Proyecto en android completado
Proyecto en android completadoProyecto en android completado
Proyecto en android completadoKai Exo
 
cuestionario de Programación
cuestionario de Programación cuestionario de Programación
cuestionario de Programación dulcevelazquez109
 
10 Curso de POO en java - métodos modificadores y analizadores
10 Curso de POO en java - métodos modificadores y analizadores10 Curso de POO en java - métodos modificadores y analizadores
10 Curso de POO en java - métodos modificadores y analizadoresClara Patricia Avella Ibañez
 
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
 
Variables en java 2014
Variables en java 2014Variables en java 2014
Variables en java 2014Lizandro Meza
 

La actualidad más candente (20)

Java 5 se (presentación3)
Java 5 se (presentación3)Java 5 se (presentación3)
Java 5 se (presentación3)
 
Fundamentos de Java
Fundamentos de JavaFundamentos de Java
Fundamentos de Java
 
Fundamentos de Java II
Fundamentos de Java IIFundamentos de Java II
Fundamentos de Java II
 
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
 
Poo Java
Poo JavaPoo Java
Poo Java
 
Unidad1 y 2
Unidad1 y 2Unidad1 y 2
Unidad1 y 2
 
Proyecto en android completado
Proyecto en android completadoProyecto en android completado
Proyecto en android completado
 
Cuestionario
CuestionarioCuestionario
Cuestionario
 
Pilares de la POO
Pilares de la POOPilares de la POO
Pilares de la POO
 
Java12
Java12Java12
Java12
 
cuestionario de Programación
cuestionario de Programación cuestionario de Programación
cuestionario de Programación
 
10 Curso de POO en java - métodos modificadores y analizadores
10 Curso de POO en java - métodos modificadores y analizadores10 Curso de POO en java - métodos modificadores y analizadores
10 Curso de POO en java - métodos modificadores y analizadores
 
Presentacion oop php5
Presentacion oop php5Presentacion oop php5
Presentacion oop php5
 
03 Oop
03   Oop03   Oop
03 Oop
 
Cuaderno
CuadernoCuaderno
Cuaderno
 
Cuaderno
CuadernoCuaderno
Cuaderno
 
P.O.O.
P.O.O.P.O.O.
P.O.O.
 
Cuestionario poo
Cuestionario pooCuestionario poo
Cuestionario poo
 
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)
 
Variables en java 2014
Variables en java 2014Variables en java 2014
Variables en java 2014
 

Similar a 18448198 programacion-orientada-a-objetos

DAW - Desarrollo de clases
DAW - Desarrollo de clasesDAW - Desarrollo de clases
DAW - Desarrollo de clasesvay82
 
Programación Orientada a Objetos - herencia y polimorfismo
Programación Orientada a Objetos - herencia y polimorfismoProgramación Orientada a Objetos - herencia y polimorfismo
Programación Orientada a Objetos - herencia y polimorfismoAlvaro Enrique Ruano
 
Jyoc java-cap08 principios poo
Jyoc java-cap08 principios pooJyoc java-cap08 principios poo
Jyoc java-cap08 principios pooJyoc X
 
Intro Programación Orientada a Objetos
Intro Programación Orientada a ObjetosIntro Programación Orientada a Objetos
Intro Programación Orientada a ObjetosPablo Sepulveda P.
 
Jyoc java-cap01 tipos de datos y entrada-salida
Jyoc java-cap01 tipos de datos y entrada-salidaJyoc java-cap01 tipos de datos y entrada-salida
Jyoc java-cap01 tipos de datos y entrada-salidaJyoc X
 
lenguajejava.pptx
lenguajejava.pptxlenguajejava.pptx
lenguajejava.pptxMiguelAmc
 
Curso Java Inicial 4 Poo En Java
Curso Java Inicial   4 Poo En JavaCurso Java Inicial   4 Poo En Java
Curso Java Inicial 4 Poo En JavaEmilio Aviles Avila
 
Programación III (Java) - 01 Introduccion
Programación III (Java) - 01 IntroduccionProgramación III (Java) - 01 Introduccion
Programación III (Java) - 01 IntroduccionAndoni Eguíluz Morán
 
Elementos avanzados de poo
Elementos avanzados de pooElementos avanzados de poo
Elementos avanzados de pooLCA
 
PROGRAMACION_ORIENTADA_A_OBJETOS.pdf
PROGRAMACION_ORIENTADA_A_OBJETOS.pdfPROGRAMACION_ORIENTADA_A_OBJETOS.pdf
PROGRAMACION_ORIENTADA_A_OBJETOS.pdfMariaTeresaGarznPrez
 
Historia java ruben rodriguez
Historia java ruben rodriguezHistoria java ruben rodriguez
Historia java ruben rodriguezcoruniversitec
 

Similar a 18448198 programacion-orientada-a-objetos (20)

DAW - Desarrollo de clases
DAW - Desarrollo de clasesDAW - Desarrollo de clases
DAW - Desarrollo de clases
 
Programación Orientada a Objetos - herencia y polimorfismo
Programación Orientada a Objetos - herencia y polimorfismoProgramación Orientada a Objetos - herencia y polimorfismo
Programación Orientada a Objetos - herencia y polimorfismo
 
Tema1
Tema1Tema1
Tema1
 
Jyoc java-cap08 principios poo
Jyoc java-cap08 principios pooJyoc java-cap08 principios poo
Jyoc java-cap08 principios poo
 
Intro Programación Orientada a Objetos
Intro Programación Orientada a ObjetosIntro Programación Orientada a Objetos
Intro Programación Orientada a Objetos
 
Jyoc java-cap01 tipos de datos y entrada-salida
Jyoc java-cap01 tipos de datos y entrada-salidaJyoc java-cap01 tipos de datos y entrada-salida
Jyoc java-cap01 tipos de datos y entrada-salida
 
4- Encapsulamiento y modularidad
4- Encapsulamiento y modularidad4- Encapsulamiento y modularidad
4- Encapsulamiento y modularidad
 
lenguajejava.pptx
lenguajejava.pptxlenguajejava.pptx
lenguajejava.pptx
 
Curso Java Inicial 4 Poo En Java
Curso Java Inicial   4 Poo En JavaCurso Java Inicial   4 Poo En Java
Curso Java Inicial 4 Poo En Java
 
Lp pract2006
Lp pract2006Lp pract2006
Lp pract2006
 
Programación III (Java) - 01 Introduccion
Programación III (Java) - 01 IntroduccionProgramación III (Java) - 01 Introduccion
Programación III (Java) - 01 Introduccion
 
Elementos avanzados de poo
Elementos avanzados de pooElementos avanzados de poo
Elementos avanzados de poo
 
8- Unidad 2: Elementos de una Clase
8- Unidad 2: Elementos de una Clase8- Unidad 2: Elementos de una Clase
8- Unidad 2: Elementos de una Clase
 
Herencia Y Polimorfismo
Herencia Y PolimorfismoHerencia Y Polimorfismo
Herencia Y Polimorfismo
 
Presentación P.O.O
Presentación P.O.OPresentación P.O.O
Presentación P.O.O
 
PROGRAMACION_ORIENTADA_A_OBJETOS.pdf
PROGRAMACION_ORIENTADA_A_OBJETOS.pdfPROGRAMACION_ORIENTADA_A_OBJETOS.pdf
PROGRAMACION_ORIENTADA_A_OBJETOS.pdf
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
 
Historia java ruben rodriguez
Historia java ruben rodriguezHistoria java ruben rodriguez
Historia java ruben rodriguez
 
Historia java ruben
Historia java rubenHistoria java ruben
Historia java ruben
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
 

Más de David Henrry Rosas Cruz

19376632 manual-centroamericano-para-diseno-geometrico-de-carreteras
19376632 manual-centroamericano-para-diseno-geometrico-de-carreteras19376632 manual-centroamericano-para-diseno-geometrico-de-carreteras
19376632 manual-centroamericano-para-diseno-geometrico-de-carreterasDavid Henrry Rosas Cruz
 
4. lechadas bituminosas_y_microaglomerados_en_frio_5_b1_5d
4. lechadas bituminosas_y_microaglomerados_en_frio_5_b1_5d4. lechadas bituminosas_y_microaglomerados_en_frio_5_b1_5d
4. lechadas bituminosas_y_microaglomerados_en_frio_5_b1_5dDavid Henrry Rosas Cruz
 
3cera edi 3_lenguaje_de_programacion_borland
3cera edi 3_lenguaje_de_programacion_borland3cera edi 3_lenguaje_de_programacion_borland
3cera edi 3_lenguaje_de_programacion_borlandDavid Henrry Rosas Cruz
 
3cera edi 3_lenguaje_de_programacion_borland (1)
3cera edi 3_lenguaje_de_programacion_borland (1)3cera edi 3_lenguaje_de_programacion_borland (1)
3cera edi 3_lenguaje_de_programacion_borland (1)David Henrry Rosas Cruz
 

Más de David Henrry Rosas Cruz (7)

19376632 manual-centroamericano-para-diseno-geometrico-de-carreteras
19376632 manual-centroamericano-para-diseno-geometrico-de-carreteras19376632 manual-centroamericano-para-diseno-geometrico-de-carreteras
19376632 manual-centroamericano-para-diseno-geometrico-de-carreteras
 
06 esfuerzo axial
06 esfuerzo axial06 esfuerzo axial
06 esfuerzo axial
 
4. lechadas bituminosas_y_microaglomerados_en_frio_5_b1_5d
4. lechadas bituminosas_y_microaglomerados_en_frio_5_b1_5d4. lechadas bituminosas_y_microaglomerados_en_frio_5_b1_5d
4. lechadas bituminosas_y_microaglomerados_en_frio_5_b1_5d
 
3cera edi 3_lenguaje_de_programacion_borland
3cera edi 3_lenguaje_de_programacion_borland3cera edi 3_lenguaje_de_programacion_borland
3cera edi 3_lenguaje_de_programacion_borland
 
3cera edi 3_lenguaje_de_programacion_borland (1)
3cera edi 3_lenguaje_de_programacion_borland (1)3cera edi 3_lenguaje_de_programacion_borland (1)
3cera edi 3_lenguaje_de_programacion_borland (1)
 
001 resistenciamaterialesi
001 resistenciamaterialesi001 resistenciamaterialesi
001 resistenciamaterialesi
 
001 resistenciamaterialesi (1)
001 resistenciamaterialesi (1)001 resistenciamaterialesi (1)
001 resistenciamaterialesi (1)
 

18448198 programacion-orientada-a-objetos

  • 1. Taller de Programación Lenguajes Emergentes Conceptos de Orientación a Objetos en Java
  • 2. Agenda • Programación Orientada a Objetos – Clases y Objetos • Tipos de métodos • Herencia • Herencia múltiple (interfaces) 10 de Agosto de 2009 Taller de Programación Lenguajes2 Emergentes
  • 3. Programación Orientada a Objetos (OOP) • En OOP el principio básico es el encapsulamiento – Separa el qué (especificación funcional, pública) – Del cómo (implementación, privada) • OOP también engloba conceptos como – Código genérico – Herencia – Polimorfismo • En Java un objeto es una instancia de una clase • Un objeto combina datos y operaciones 10 de Agosto de 2009 Taller de Programación Lenguajes3 Emergentes
  • 4. Tipos de métodos • Constructores – Permiten inicializar un objeto – Puede haber varios constructores con distinto número de parámetros – Si no hay constructor definido, los campos del objeto se inicializan nulos – El constructor debe tener el mismo nombre de la clase 10 de Agosto de 2009 Taller de Programación Lenguajes4 Emergentes
  • 5. Tipos de métodos • Mutators y Accessors – Los campos de las clases son típicamente privados – Para mirar o cambiar su valor se debe hacer por medio de métodos que aíslan los detalles de la implementación • toString() – La clase Object tiene un método llamado toString() que transforma el Objeto en un formato imprimible, este es llamado automáticamente cuando se envía el objeto a alguna salida (ej.: System.out.println()) • equals() – La clase Object, también tiene un método llamado equals() que se utiliza para ver si dos objetos tienen el mismo valor 10 de Agosto de 2009 Taller de Programación Lenguajes5 Emergentes
  • 6. Tipos de métodos • this – La referencia this identifica al objeto actual – Permite acceder los campos propios (ej.: this.valor), desde dentro de la clase – Permite comparar si el objeto actual es el mismo que otro (si son la misma referencia) – Puede usarse como constructor 10 de Agosto de 2009 Taller de Programación Lenguajes6 Emergentes
  • 7. Tipos de métodos • El modificador static – En Java se pueden declarar campos, métodos, clases y bloques de código con el modificador static – Una clase static es un clase interna de nivel superior, visible y accesable por todos los objetos de la clase – Un método static está asociado a una clase (no a un objeto), esto quiere decir que no es necesario “instanciar” la clase para utilizarlo (ej.: Integer.parseInt(“1”)); – Un campo static funciona de modo similar a un método – Un bloque static es ejecutado cuando la clase es cargada o instanciada 10 de Agosto de 2009 Taller de Programación Lenguajes7 Emergentes
  • 8. Tipos de métodos • Packages – Agrupan clases – Cada clase debe ser precedida por la declaración del package – Si a un campo o método no se le antepone el modificador public o private es visible sólo en el package 10 de Agosto de 2009 Taller de Programación Lenguajes8 Emergentes
  • 9. Herencia • Permite reutilizar el trabajo hecho • Se basa en la relación es-un(a) – Ejemplos • Círculo es-una Figura • Auto es-un Vehículo • Clase base – La clase de la cual se derivan otras • Clase derivada – Hereda todas las propiedades de la clase base. Puede agregar campos y métodos, o redefinir métodos 10 de Agosto de 2009 Taller de Programación Lenguajes9 Emergentes
  • 10. Herencia • Clase derivada – Los campos adicionales generalmente son privados – Los métodos de la clase base que no se redefinen en la clase derivada se heredan sin cambio, excepto por el constructor – Los métodos que se redefinen tienen prioridad – Se pueden agregar nuevos métodos – Los métodos públicos se pueden redefinir como privados 10 de Agosto de 2009 Taller de Programación Lenguajes1 E0mergentes
  • 11. Herencia múltiple • En algunos lenguajes, una clase puede heredar de más de una clase base. En Java esto no se permite, lo cual evita los conflictos que se podrían producir al heredarse definiciones incompatibles de métodos y variables. • Interfaz – Una interfaz es un mecanismo que permite lograr algunos de los efectos de la herencia múltiple, sin sus problemas – Una interfaz es una clase que sólo tiene métodos públicos abstractos y campos públicos estáticos finales – Se dice que una clase implementa a la interfaz si provee definiciones para todos los métodos abstractos de la interfaz – Una clase puede extender sólo a una clase base, pero puede implementar muchas interfaces 10 de Agosto de 2009 Taller de Programación Lenguajes1 E1mergentes