SlideShare uma empresa Scribd logo
1 de 47
Programacion Orientado a Objetos
Programacion Procedimiental ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Programacion Orientada a Objetos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Quebrado a, b, c; a = Quebrado_Pedir(); b = Quebrado_Pedir(); c = Quebrado_Sumar(a,b); Quebrado a, b, c; a = new Quebrado(); b = new Quebrado(); a.Pedir(); b.Pedir(); c = a.Sumar(b);
Lenguajes Orientados a Objetos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Conceptos de Orientación a Objetos
Abstracción ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Abstracción
Qué es un objeto? ,[object Object],[object Object],[object Object],Mundo Real Software Abstracción
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Objetos: Caracteristicas
Identidad cuenta bancaria antena parabólica Variable Dirección unCredito 10001324 unDebito 54647875 unaCuenta 87896545 unaCuentadeAhorros 87020486 Una tabla de símbolos caballo Doris Residencia de Doris Mi Computadora Una bicicleta roja
Clasificación Vehículo Punto Figura Animal (1,3) (2,2) (2,1) (5,2.5)
Clases y Objetos Class Template Objetos
Clase ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Clase ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Ejemplo de Clase Objetos bicicletas Abstraídos en Clase Bicicleta Atributos Tamaño de frame Tamaño de llanta Material ... Métodos Cambio Mover Frenar...
Ejemplo de Clase public class Quebrado  { private int numerador; private int denominador; public Quebrado(int n, int d) {} public void setNumerador(int n) {} public int getNumerador() {} } UML Java Quebrado - numerador: : int - denominador  : int + Quebrado (int, int) + setNumerador (n:int) :void + getNumeradore () :int
Estructura de una Clase
Instancia ,[object Object],[object Object]
Instancia Quebrado b = new Quebrado (3, 19); Creación de instancias u objetos a partir de la clase Alumno: Quebrado q1 = new Quebrado (9,7); Quebrado a = new Quebrado (1,2); q1: Quebrado numerador =  9 denominador   7 Quebrado - numerador: : int - denominador  : int + Quebrado (int, int) + setNumerador (n:int) :void + getNumeradore () :int b: Quebrado numerador =  1 denominador 2 b: Quebrado numerador =  3 denominador =  19
Constructor ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Creando objetos: new y constructor ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Ejemplo de Constructor ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Encapsulamiento ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
EJEMPLO
Encapsulamiento: ¿Como implementarlo? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Ejemplo de Encapsulamiento ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Overloading o Sobrecarga ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Relaciones entre objetos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
ES UN: Herencia ,[object Object],[object Object],[object Object],[object Object],Superclase Subclase
Ejemplo
Herencia: Reusando el código ANTES DESPUES superclase subclases Auto maxFuel maxNroDePasajeros modelo velocidad acelerar() desacelerar() doblarAIzq() doblarADcha() Avion maxAltitud maxFuel maxNroDePasajeros velocidad nroDeMotores acelerar() desacelerar() descender() ascender() Vehiculo maxFuel maxNroDePasajeros velocidad acelerar() desacelerar() Avion maxAltitud nroDeMotores descender() ascender() Auto modelo doblarAIzq() doblarADcha()
Herencia: Creando Subclases public class Vehiculo { } public class Auto  extends  Vehiculo{ } public class Avion  extends  Vehiculo{ } Java UML Vehiculo Auto Avion
Tipos de Herencia ,[object Object],[object Object],[object Object],[object Object]
Herencia Multiple
Herencia Múltiple Problema de ambigüedad: unVehiculoAnfibio.Desplazarse(); Los lenguajes ofrecen mecanismos para deshacer la ambigüedad (en C++  =>  unVehiculoAnfibio.VehiculoTerrestre::Desplazarse()).
Tipos de Clases ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
TIPOS DE CLASES: EJEMPLOS
Ejemplo de Clase Abstracta
Clases abstractas public  abstract  class Figura { ... } public class Circulo extends Figura{ ... } public class Rectangulo extends Figura{ ... } Figura f = new Figura(); Figura   {Abstracto} Circulo Rectangulo
Polimorfismo ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Ejemplo de Polimorfismo Figura   Geométrica Atributo: area Método: obtenerArea Atributos: longitud ancho Métodos: Rectangulo obtenerArea Atributo: radio Métodos: Circulo obtenerArea Rectangulo Circulo
Ejemplo de Polimorfismo método concreto Figura f = new Rectangulo(); int s = f.obtenerArea(); método abstracto Rectangulo + obtenerArea() Figura {abstracto} + obtenerArea() Circulo + obtenerArea() Método abstracto
Redefinicion/Overriding ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Mensajes public class Factura { ...  i.obtenerPrecio(); ... } public class Item { public obtenerPrecio(){ a.obtenerCosto(); this.calcularPrecio(); } private calcularPrecio(){ ... } }
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Ventajas de la Programación Orientada a Objetos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]

Mais conteúdo relacionado

Mais procurados

Métodos POO
Métodos POOMétodos POO
Métodos POO1da4
 
Estructura de un metodo
Estructura de un metodoEstructura de un metodo
Estructura de un metodoElena Perz
 
Conceptos de POO (Programacion Orientada a Objetos)
Conceptos de POO (Programacion Orientada a Objetos)Conceptos de POO (Programacion Orientada a Objetos)
Conceptos de POO (Programacion Orientada a Objetos)Josue Lara Reyes
 
11 Curso de POO en java - métodos constructores y toString()
11 Curso de POO en java - métodos constructores y toString()11 Curso de POO en java - métodos constructores y toString()
11 Curso de POO en java - métodos constructores y toString()Clara Patricia Avella Ibañez
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clasesNedoww Haw
 
Programación 3: Clases y objetos en Java
Programación 3: Clases y objetos en JavaProgramación 3: Clases y objetos en Java
Programación 3: Clases y objetos en JavaAngel Vázquez Patiño
 
Herencia - Programación Orientada a Objetos
Herencia - Programación Orientada a ObjetosHerencia - Programación Orientada a Objetos
Herencia - Programación Orientada a ObjetosMario Villaseñor
 
Programacion Orientada a Objetos - Unidad 2 clases y objetos
Programacion Orientada a Objetos - Unidad 2 clases y objetosProgramacion Orientada a Objetos - Unidad 2 clases y objetos
Programacion Orientada a Objetos - Unidad 2 clases y objetosJosé Antonio Sandoval Acosta
 
Unidad 3 topicos avanzados de programacion
Unidad 3 topicos avanzados de programacionUnidad 3 topicos avanzados de programacion
Unidad 3 topicos avanzados de programacionIrving Che
 
Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.Giancarlo Aguilar
 
Ordenar arreglos en java
Ordenar arreglos en javaOrdenar arreglos en java
Ordenar arreglos en javaeccutpl
 
Diagramas de objetos
Diagramas de objetosDiagramas de objetos
Diagramas de objetosstill01
 
Metodologías Para AnáLisis Y DiseñO Orientado A Objetos
Metodologías Para AnáLisis Y DiseñO Orientado A ObjetosMetodologías Para AnáLisis Y DiseñO Orientado A Objetos
Metodologías Para AnáLisis Y DiseñO Orientado A Objetoshector_h30
 
Bases de Datos Semanticas
Bases de Datos SemanticasBases de Datos Semanticas
Bases de Datos SemanticasErik Guerrero
 

Mais procurados (20)

Métodos POO
Métodos POOMétodos POO
Métodos POO
 
Estructura de un metodo
Estructura de un metodoEstructura de un metodo
Estructura de un metodo
 
Conceptos de POO (Programacion Orientada a Objetos)
Conceptos de POO (Programacion Orientada a Objetos)Conceptos de POO (Programacion Orientada a Objetos)
Conceptos de POO (Programacion Orientada a Objetos)
 
Programacion Orientada a Objetos
Programacion Orientada a ObjetosProgramacion Orientada a Objetos
Programacion Orientada a Objetos
 
Pilas y colas
Pilas y colasPilas y colas
Pilas y colas
 
11 Curso de POO en java - métodos constructores y toString()
11 Curso de POO en java - métodos constructores y toString()11 Curso de POO en java - métodos constructores y toString()
11 Curso de POO en java - métodos constructores y toString()
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clases
 
Programación 3: Clases y objetos en Java
Programación 3: Clases y objetos en JavaProgramación 3: Clases y objetos en Java
Programación 3: Clases y objetos en Java
 
Herencia - Programación Orientada a Objetos
Herencia - Programación Orientada a ObjetosHerencia - Programación Orientada a Objetos
Herencia - Programación Orientada a Objetos
 
Programacion Orientada a Objetos - Unidad 2 clases y objetos
Programacion Orientada a Objetos - Unidad 2 clases y objetosProgramacion Orientada a Objetos - Unidad 2 clases y objetos
Programacion Orientada a Objetos - Unidad 2 clases y objetos
 
Unidad 3 topicos avanzados de programacion
Unidad 3 topicos avanzados de programacionUnidad 3 topicos avanzados de programacion
Unidad 3 topicos avanzados de programacion
 
Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.
 
Ordenar arreglos en java
Ordenar arreglos en javaOrdenar arreglos en java
Ordenar arreglos en java
 
Diagramas de objetos
Diagramas de objetosDiagramas de objetos
Diagramas de objetos
 
Búsqueda secuencial y binaria
Búsqueda secuencial y binariaBúsqueda secuencial y binaria
Búsqueda secuencial y binaria
 
Clases Genéricas en Java
Clases Genéricas en JavaClases Genéricas en Java
Clases Genéricas en Java
 
Metodologías Para AnáLisis Y DiseñO Orientado A Objetos
Metodologías Para AnáLisis Y DiseñO Orientado A ObjetosMetodologías Para AnáLisis Y DiseñO Orientado A Objetos
Metodologías Para AnáLisis Y DiseñO Orientado A Objetos
 
Poo
PooPoo
Poo
 
Bases de Datos Semanticas
Bases de Datos SemanticasBases de Datos Semanticas
Bases de Datos Semanticas
 
Conceptos basicos POO
Conceptos basicos POOConceptos basicos POO
Conceptos basicos POO
 

Destaque

Manejo Eventos en java
Manejo Eventos en javaManejo Eventos en java
Manejo Eventos en javajent46
 
Buceo En Aguas Profundas
Buceo En Aguas ProfundasBuceo En Aguas Profundas
Buceo En Aguas Profundasjent46
 
Archivos aleatorios en java
Archivos aleatorios en javaArchivos aleatorios en java
Archivos aleatorios en javajent46
 
Threads en java
Threads en javaThreads en java
Threads en javajent46
 
abstract window tool kit
abstract window tool kitabstract window tool kit
abstract window tool kitjent46
 
Applets
AppletsApplets
Appletsjent46
 
modelamientyo dinamico
modelamientyo dinamicomodelamientyo dinamico
modelamientyo dinamicojent46
 
Excepciones en java
Excepciones en javaExcepciones en java
Excepciones en javajent46
 
Manejo Eventos en java
Manejo Eventos en javaManejo Eventos en java
Manejo Eventos en javajent46
 
diagramas de interaccion
diagramas de interacciondiagramas de interaccion
diagramas de interaccionjent46
 
Estudio De La Vida
Estudio De La VidaEstudio De La Vida
Estudio De La Vidajent46
 
Casos Uso Ejercicios en java
Casos Uso Ejercicios en javaCasos Uso Ejercicios en java
Casos Uso Ejercicios en javajent46
 
Colecciones en java
Colecciones en javaColecciones en java
Colecciones en javajent46
 
diagrama de clases
diagrama de clasesdiagrama de clases
diagrama de clasesjent46
 
Clases Anidadas en java
Clases Anidadas en javaClases Anidadas en java
Clases Anidadas en javajent46
 
Bases Datos en java
Bases Datos en javaBases Datos en java
Bases Datos en javajent46
 
transporte Celular
transporte Celulartransporte Celular
transporte Celularjent46
 
Codigo Genetico
Codigo GeneticoCodigo Genetico
Codigo Geneticojent46
 

Destaque (20)

ADN y Código Genético
ADN y Código GenéticoADN y Código Genético
ADN y Código Genético
 
java
javajava
java
 
Manejo Eventos en java
Manejo Eventos en javaManejo Eventos en java
Manejo Eventos en java
 
Buceo En Aguas Profundas
Buceo En Aguas ProfundasBuceo En Aguas Profundas
Buceo En Aguas Profundas
 
Archivos aleatorios en java
Archivos aleatorios en javaArchivos aleatorios en java
Archivos aleatorios en java
 
Threads en java
Threads en javaThreads en java
Threads en java
 
abstract window tool kit
abstract window tool kitabstract window tool kit
abstract window tool kit
 
Applets
AppletsApplets
Applets
 
modelamientyo dinamico
modelamientyo dinamicomodelamientyo dinamico
modelamientyo dinamico
 
Excepciones en java
Excepciones en javaExcepciones en java
Excepciones en java
 
Manejo Eventos en java
Manejo Eventos en javaManejo Eventos en java
Manejo Eventos en java
 
diagramas de interaccion
diagramas de interacciondiagramas de interaccion
diagramas de interaccion
 
Estudio De La Vida
Estudio De La VidaEstudio De La Vida
Estudio De La Vida
 
Casos Uso Ejercicios en java
Casos Uso Ejercicios en javaCasos Uso Ejercicios en java
Casos Uso Ejercicios en java
 
Colecciones en java
Colecciones en javaColecciones en java
Colecciones en java
 
diagrama de clases
diagrama de clasesdiagrama de clases
diagrama de clases
 
Clases Anidadas en java
Clases Anidadas en javaClases Anidadas en java
Clases Anidadas en java
 
Bases Datos en java
Bases Datos en javaBases Datos en java
Bases Datos en java
 
transporte Celular
transporte Celulartransporte Celular
transporte Celular
 
Codigo Genetico
Codigo GeneticoCodigo Genetico
Codigo Genetico
 

Semelhante a programacion orientada a objetos

Iniciando en java en www.fiec.espol.edu.ec
Iniciando en java  en www.fiec.espol.edu.ecIniciando en java  en www.fiec.espol.edu.ec
Iniciando en java en www.fiec.espol.edu.ecSilvana Vargas
 
programacion orientada a objetos
programacion orientada a objetosprogramacion orientada a objetos
programacion orientada a objetosale8819
 
Net1 oop vbnet
Net1 oop vbnetNet1 oop vbnet
Net1 oop vbnetjhordy2000
 
UD2-ConceptosBasicos.pdf
UD2-ConceptosBasicos.pdfUD2-ConceptosBasicos.pdf
UD2-ConceptosBasicos.pdfChiquteRobledo
 
Poo 2009 u2_introd_a_la_poo_2
Poo 2009 u2_introd_a_la_poo_2Poo 2009 u2_introd_a_la_poo_2
Poo 2009 u2_introd_a_la_poo_2Axel
 
Propiedades De La Poo
Propiedades De La PooPropiedades De La Poo
Propiedades De La Pooda4
 
Programacion orientada-a-objetos
Programacion orientada-a-objetosProgramacion orientada-a-objetos
Programacion orientada-a-objetosDon Augusto
 
Framework .NET 3.5 07 Programación orientada a objetos
Framework .NET 3.5 07 Programación orientada a objetosFramework .NET 3.5 07 Programación orientada a objetos
Framework .NET 3.5 07 Programación orientada a objetosAntonio Palomares Sender
 
Resumen Programación Orientada a Objetos 20_06_2023 (1).pptx
Resumen Programación Orientada a Objetos 20_06_2023 (1).pptxResumen Programación Orientada a Objetos 20_06_2023 (1).pptx
Resumen Programación Orientada a Objetos 20_06_2023 (1).pptxDELIAMARINAHERAZOTUI
 
Tema 4 clases_y_objetos
Tema 4 clases_y_objetosTema 4 clases_y_objetos
Tema 4 clases_y_objetosBelenMonse
 
Poo 1 concepto_basico
Poo 1 concepto_basicoPoo 1 concepto_basico
Poo 1 concepto_basicojlmanmons
 
Tema 1 2_poo
Tema 1 2_pooTema 1 2_poo
Tema 1 2_poodemon_628
 

Semelhante a programacion orientada a objetos (20)

Poo
PooPoo
Poo
 
PROGRAMACIÓN ORIENTADA A OBJETOS
PROGRAMACIÓN ORIENTADA A OBJETOSPROGRAMACIÓN ORIENTADA A OBJETOS
PROGRAMACIÓN ORIENTADA A OBJETOS
 
Iniciando en java en www.fiec.espol.edu.ec
Iniciando en java  en www.fiec.espol.edu.ecIniciando en java  en www.fiec.espol.edu.ec
Iniciando en java en www.fiec.espol.edu.ec
 
programacion orientada a objetos
programacion orientada a objetosprogramacion orientada a objetos
programacion orientada a objetos
 
Net1 oop vbnet
Net1 oop vbnetNet1 oop vbnet
Net1 oop vbnet
 
UD2-ConceptosBasicos.pdf
UD2-ConceptosBasicos.pdfUD2-ConceptosBasicos.pdf
UD2-ConceptosBasicos.pdf
 
Mv vol2 ver5.0(corregido)
Mv vol2 ver5.0(corregido)Mv vol2 ver5.0(corregido)
Mv vol2 ver5.0(corregido)
 
Oo basico
Oo basicoOo basico
Oo basico
 
Poo 2009 u2_introd_a_la_poo_2
Poo 2009 u2_introd_a_la_poo_2Poo 2009 u2_introd_a_la_poo_2
Poo 2009 u2_introd_a_la_poo_2
 
Propiedades De La Poo
Propiedades De La PooPropiedades De La Poo
Propiedades De La Poo
 
Clases y objetos en Java
Clases y objetos en JavaClases y objetos en Java
Clases y objetos en Java
 
Aprendiendo objetos en c++
Aprendiendo objetos en c++Aprendiendo objetos en c++
Aprendiendo objetos en c++
 
Programacion orientada-a-objetos
Programacion orientada-a-objetosProgramacion orientada-a-objetos
Programacion orientada-a-objetos
 
Tema2
Tema2Tema2
Tema2
 
Framework .NET 3.5 07 Programación orientada a objetos
Framework .NET 3.5 07 Programación orientada a objetosFramework .NET 3.5 07 Programación orientada a objetos
Framework .NET 3.5 07 Programación orientada a objetos
 
Resumen Programación Orientada a Objetos 20_06_2023 (1).pptx
Resumen Programación Orientada a Objetos 20_06_2023 (1).pptxResumen Programación Orientada a Objetos 20_06_2023 (1).pptx
Resumen Programación Orientada a Objetos 20_06_2023 (1).pptx
 
Tema 4 clases_y_objetos
Tema 4 clases_y_objetosTema 4 clases_y_objetos
Tema 4 clases_y_objetos
 
Poo 1 concepto_basico
Poo 1 concepto_basicoPoo 1 concepto_basico
Poo 1 concepto_basico
 
FPJUCE - Capitulo2
FPJUCE - Capitulo2FPJUCE - Capitulo2
FPJUCE - Capitulo2
 
Tema 1 2_poo
Tema 1 2_pooTema 1 2_poo
Tema 1 2_poo
 

Mais de jent46

relacion de las matematicas con la biologia y la quimica
relacion de las matematicas con la biologia y la quimicarelacion de las matematicas con la biologia y la quimica
relacion de las matematicas con la biologia y la quimicajent46
 
Interaccion en java
Interaccion en javaInteraccion en java
Interaccion en javajent46
 
Clasifseresvivos
ClasifseresvivosClasifseresvivos
Clasifseresvivosjent46
 
Mitosis y Meiosis
Mitosis y MeiosisMitosis y Meiosis
Mitosis y Meiosisjent46
 
fotosintesis
fotosintesisfotosintesis
fotosintesisjent46
 
respiracion celular
respiracion celularrespiracion celular
respiracion celularjent46
 
control de actividades celulares
control de actividades celularescontrol de actividades celulares
control de actividades celularesjent46
 
quimica celular
quimica celularquimica celular
quimica celularjent46
 
estructura y funcioin celular
estructura y funcioin celularestructura y funcioin celular
estructura y funcioin celularjent46
 
Que Es La Vida
Que Es La VidaQue Es La Vida
Que Es La Vidajent46
 

Mais de jent46 (10)

relacion de las matematicas con la biologia y la quimica
relacion de las matematicas con la biologia y la quimicarelacion de las matematicas con la biologia y la quimica
relacion de las matematicas con la biologia y la quimica
 
Interaccion en java
Interaccion en javaInteraccion en java
Interaccion en java
 
Clasifseresvivos
ClasifseresvivosClasifseresvivos
Clasifseresvivos
 
Mitosis y Meiosis
Mitosis y MeiosisMitosis y Meiosis
Mitosis y Meiosis
 
fotosintesis
fotosintesisfotosintesis
fotosintesis
 
respiracion celular
respiracion celularrespiracion celular
respiracion celular
 
control de actividades celulares
control de actividades celularescontrol de actividades celulares
control de actividades celulares
 
quimica celular
quimica celularquimica celular
quimica celular
 
estructura y funcioin celular
estructura y funcioin celularestructura y funcioin celular
estructura y funcioin celular
 
Que Es La Vida
Que Es La VidaQue Es La Vida
Que Es La Vida
 

programacion orientada a objetos

  • 2.
  • 3.
  • 4. Quebrado a, b, c; a = Quebrado_Pedir(); b = Quebrado_Pedir(); c = Quebrado_Sumar(a,b); Quebrado a, b, c; a = new Quebrado(); b = new Quebrado(); a.Pedir(); b.Pedir(); c = a.Sumar(b);
  • 5.
  • 7.
  • 9.
  • 10.
  • 11. Identidad cuenta bancaria antena parabólica Variable Dirección unCredito 10001324 unDebito 54647875 unaCuenta 87896545 unaCuentadeAhorros 87020486 Una tabla de símbolos caballo Doris Residencia de Doris Mi Computadora Una bicicleta roja
  • 12. Clasificación Vehículo Punto Figura Animal (1,3) (2,2) (2,1) (5,2.5)
  • 13. Clases y Objetos Class Template Objetos
  • 14.
  • 15.
  • 16. Ejemplo de Clase Objetos bicicletas Abstraídos en Clase Bicicleta Atributos Tamaño de frame Tamaño de llanta Material ... Métodos Cambio Mover Frenar...
  • 17. Ejemplo de Clase public class Quebrado { private int numerador; private int denominador; public Quebrado(int n, int d) {} public void setNumerador(int n) {} public int getNumerador() {} } UML Java Quebrado - numerador: : int - denominador : int + Quebrado (int, int) + setNumerador (n:int) :void + getNumeradore () :int
  • 19.
  • 20. Instancia Quebrado b = new Quebrado (3, 19); Creación de instancias u objetos a partir de la clase Alumno: Quebrado q1 = new Quebrado (9,7); Quebrado a = new Quebrado (1,2); q1: Quebrado numerador = 9 denominador 7 Quebrado - numerador: : int - denominador : int + Quebrado (int, int) + setNumerador (n:int) :void + getNumeradore () :int b: Quebrado numerador = 1 denominador 2 b: Quebrado numerador = 3 denominador = 19
  • 21.
  • 22.
  • 23.
  • 24.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 32. Herencia: Reusando el código ANTES DESPUES superclase subclases Auto maxFuel maxNroDePasajeros modelo velocidad acelerar() desacelerar() doblarAIzq() doblarADcha() Avion maxAltitud maxFuel maxNroDePasajeros velocidad nroDeMotores acelerar() desacelerar() descender() ascender() Vehiculo maxFuel maxNroDePasajeros velocidad acelerar() desacelerar() Avion maxAltitud nroDeMotores descender() ascender() Auto modelo doblarAIzq() doblarADcha()
  • 33. Herencia: Creando Subclases public class Vehiculo { } public class Auto extends Vehiculo{ } public class Avion extends Vehiculo{ } Java UML Vehiculo Auto Avion
  • 34.
  • 36. Herencia Múltiple Problema de ambigüedad: unVehiculoAnfibio.Desplazarse(); Los lenguajes ofrecen mecanismos para deshacer la ambigüedad (en C++ => unVehiculoAnfibio.VehiculoTerrestre::Desplazarse()).
  • 37.
  • 38. TIPOS DE CLASES: EJEMPLOS
  • 39. Ejemplo de Clase Abstracta
  • 40. Clases abstractas public abstract class Figura { ... } public class Circulo extends Figura{ ... } public class Rectangulo extends Figura{ ... } Figura f = new Figura(); Figura {Abstracto} Circulo Rectangulo
  • 41.
  • 42. Ejemplo de Polimorfismo Figura Geométrica Atributo: area Método: obtenerArea Atributos: longitud ancho Métodos: Rectangulo obtenerArea Atributo: radio Métodos: Circulo obtenerArea Rectangulo Circulo
  • 43. Ejemplo de Polimorfismo método concreto Figura f = new Rectangulo(); int s = f.obtenerArea(); método abstracto Rectangulo + obtenerArea() Figura {abstracto} + obtenerArea() Circulo + obtenerArea() Método abstracto
  • 44.
  • 45. Mensajes public class Factura { ... i.obtenerPrecio(); ... } public class Item { public obtenerPrecio(){ a.obtenerCosto(); this.calcularPrecio(); } private calcularPrecio(){ ... } }
  • 46.
  • 47.