SlideShare una empresa de Scribd logo
1 de 53
Programacion Orientado a Objetos www.fiec.espol.edu.ec
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]
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 Alumno  { private String nombre; private String domicilio; public Alumno(String n, String d) {} public void setNombre (String n) {} public String getNombre() {} } UML Java Alumno - nombre: : String - domicilio  : String + Alumno (n:String, d:String) + setNombre (n:String) :void + getNombre () :String
Instancia ,[object Object],[object Object]
Instancia Alumno alumno3 = new Alumno(“Jose Lopez”, “Centenario”); Creación de instancias u objetos a partir de la clase Alumno: Alumno alumno1 = new Alumno(“Juan Perez”, “Las Peñas”); Alumno alumno2  = new Alumno(“Abel Garcia”, “Los ceibos”); alumno3:  Alumno nombre = Jose Lopez domicilio = Centenario alumno2:  Alumno nombre = Abel García domicilio = Los ceibos alumno1:  Alumno nombre = Juan Perez domicilio = Las Peñas Alumno - nombre: : String - domicilio  : String + Alumno (n:String, d:String) + setNombre (n:String) :void + getNombre () :String
Constructor ,[object Object],[object Object],[object Object],[object Object],[object Object]
Constructor ,[object Object],alumno1 = new Alumno(“Juan Perez”, “Las Peñas”); alumno2  = new Alumno(“Abel Garcia”, “Los Ceibos”); Alumno - nombre: : String - domicilio  : String + Alumno (n:String, d:String) + setNombre (n:String) :void + getNombre () :String
Ejemplo de Constructor ,[object Object],[object Object],[object Object],[object Object],[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],[object Object],Superclase Subclase
Ejemplo Perro Gato # colorOjo:String + getcolorOjo():String # frecLadrido:int + ladrar():void # frecMaullido:int +maullar():void + esAleman():void + esFrances():void Mamífero Poodle PastorAlemán
Ejemplo de Herencia
Herencia 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 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]
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]
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]
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
Method Overriding ,[object Object],[object Object],[object Object],[object Object],[object Object]
Method Overriding
Method Overloading ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Method-call Binding ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Method-call Binding square circle shape user  draw request draw_1  draw_2  Figura1 f = new Rectangulo(); int s = f.obtenerArea(); Rectangulo + obtenerArea() Figura {abstracto} + obtenerArea() Circulo + obtenerArea()
Interfases ,[object Object],[object Object],[object Object],[object Object]
Encapsulamiento ,[object Object],[object Object]
Encapsulamiento ,[object Object],[object Object],[object Object],[object Object]
Message Passing (Paso de Mensaje) ,[object Object],[object Object],[object Object]
Message Passing (Paso de Mensaje) ,[object Object],[object Object],[object Object],[object Object],[object Object]
Mensajes Objeto A Objeto B Metodo Datos  Metodo Metodo Metodo Metodo Datos  Datos  Datos  Metodo Metodo Metodo Metodo Datos  Metodo Metodo Metodo Metodo Datos  Datos  Datos  Metodo Metodo Metodo
Mensajes public class Factura { ...  i.obtenerPrecio(); ... } public class Item { public obtenerPrecio(){ a.obtenerCosto(); this.calcularPrecio(); } private calcularPrecio(){ ... } }
Estructura de una Clase
Ejemplos de clases en Java ,[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],[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],[object Object],[object Object],[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]

Más contenido relacionado

La actualidad más candente

Trabajo de diseño de sistemas orientados a objetos
Trabajo de diseño de sistemas orientados a objetosTrabajo de diseño de sistemas orientados a objetos
Trabajo de diseño de sistemas orientados a objetos
douglimar89
 
Herencia - Programación Orientada a Objetos
Herencia - Programación Orientada a ObjetosHerencia - Programación Orientada a Objetos
Herencia - Programación Orientada a Objetos
Mario Villaseñor
 
Tipos de atributos y tipos de relaciones
Tipos de atributos y tipos de relacionesTipos de atributos y tipos de relaciones
Tipos de atributos y tipos de relaciones
basilioj
 
Clases y objetos de java
Clases y objetos de javaClases y objetos de java
Clases y objetos de java
innovalabcun
 
Sesion 5 1 diagrama de secuencia
Sesion 5 1 diagrama de secuenciaSesion 5 1 diagrama de secuencia
Sesion 5 1 diagrama de secuencia
Julio Pari
 
Unidad 2. modelo entidad relacion
Unidad 2. modelo entidad relacionUnidad 2. modelo entidad relacion
Unidad 2. modelo entidad relacion
LuiS YmAY
 

La actualidad más candente (20)

Tipos de Datos Abstractos (TDA)
Tipos de Datos Abstractos (TDA)Tipos de Datos Abstractos (TDA)
Tipos de Datos Abstractos (TDA)
 
Trabajo de diseño de sistemas orientados a objetos
Trabajo de diseño de sistemas orientados a objetosTrabajo de diseño de sistemas orientados a objetos
Trabajo de diseño de sistemas orientados a objetos
 
Herencia - Programación Orientada a Objetos
Herencia - Programación Orientada a ObjetosHerencia - Programación Orientada a Objetos
Herencia - Programación Orientada a Objetos
 
Programación 3: colas
Programación 3: colasProgramación 3: colas
Programación 3: colas
 
Estructura datos pilas y colas
Estructura datos pilas y colasEstructura datos pilas y colas
Estructura datos pilas y colas
 
Tipos de atributos y tipos de relaciones
Tipos de atributos y tipos de relacionesTipos de atributos y tipos de relaciones
Tipos de atributos y tipos de relaciones
 
Ejercicios normalizacion
Ejercicios normalizacionEjercicios normalizacion
Ejercicios normalizacion
 
Pilas, colas, y listas estructura de datos
Pilas, colas, y listas estructura de datosPilas, colas, y listas estructura de datos
Pilas, colas, y listas estructura de datos
 
9 Curso de POO en java - variables, constantes y objetos
9 Curso de POO en java - variables, constantes y objetos9 Curso de POO en java - variables, constantes y objetos
9 Curso de POO en java - variables, constantes y objetos
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clases
 
Clases y objetos de java
Clases y objetos de javaClases y objetos de java
Clases y objetos de java
 
Modelo relacional
Modelo relacionalModelo relacional
Modelo relacional
 
Programación Orientada a Objetos (POO) y UML
Programación Orientada a Objetos (POO) y UMLProgramación Orientada a Objetos (POO) y UML
Programación Orientada a Objetos (POO) y UML
 
Sesion 5 1 diagrama de secuencia
Sesion 5 1 diagrama de secuenciaSesion 5 1 diagrama de secuencia
Sesion 5 1 diagrama de secuencia
 
Jerarquía de clases, herencia, polimorfismo
Jerarquía de clases, herencia, polimorfismoJerarquía de clases, herencia, polimorfismo
Jerarquía de clases, herencia, polimorfismo
 
Componentes de sgbd
Componentes de sgbdComponentes de sgbd
Componentes de sgbd
 
Conceptos poo (presentación1)
Conceptos poo (presentación1)Conceptos poo (presentación1)
Conceptos poo (presentación1)
 
Modelos Lógicos Basados en Objetos
Modelos Lógicos Basados en ObjetosModelos Lógicos Basados en Objetos
Modelos Lógicos Basados en Objetos
 
6 Curso de POO en Java - clases y objetos
6  Curso de POO en Java - clases y objetos6  Curso de POO en Java - clases y objetos
6 Curso de POO en Java - clases y objetos
 
Unidad 2. modelo entidad relacion
Unidad 2. modelo entidad relacionUnidad 2. modelo entidad relacion
Unidad 2. modelo entidad relacion
 

Destacado (6)

Metodología de la programación orientada a objetos con c++ prev
Metodología de la programación orientada a objetos con c++ prevMetodología de la programación orientada a objetos con c++ prev
Metodología de la programación orientada a objetos con c++ prev
 
Programación!! . .
Programación!! . .Programación!! . .
Programación!! . .
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
 
Introducción a la programación orientada a objetos empleando c++
Introducción a la programación orientada a objetos empleando c++Introducción a la programación orientada a objetos empleando c++
Introducción a la programación orientada a objetos empleando c++
 
Programación orientada a objetos con c++ prev
Programación orientada a objetos con c++ prevProgramación orientada a objetos con c++ prev
Programación orientada a objetos con c++ prev
 
Programación Orientada a Objetos vs Programación Estructurada
Programación Orientada a Objetos vs Programación EstructuradaProgramación Orientada a Objetos vs Programación Estructurada
Programación Orientada a Objetos vs Programación Estructurada
 

Similar a programacion orientada a objetos

Lenguaje de Programacion - Java
Lenguaje de Programacion - JavaLenguaje de Programacion - Java
Lenguaje de Programacion - Java
zousbabastre
 
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
Axel
 
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
 
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
Antonio Palomares Sender
 

Similar 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
 
Tema2
Tema2Tema2
Tema2
 
Net1 oop vbnet
Net1 oop vbnetNet1 oop vbnet
Net1 oop vbnet
 
Lenguaje de Programacion - Java
Lenguaje de Programacion - JavaLenguaje de Programacion - Java
Lenguaje de Programacion - Java
 
C ++
C ++C ++
C ++
 
Exposicion Capitulo 10,11,12
Exposicion Capitulo 10,11,12Exposicion Capitulo 10,11,12
Exposicion Capitulo 10,11,12
 
Programacion
ProgramacionProgramacion
Programacion
 
6. PROGRAMACION OO.pptx
6. PROGRAMACION OO.pptx6. PROGRAMACION OO.pptx
6. PROGRAMACION OO.pptx
 
Tema 1 2_poo
Tema 1 2_pooTema 1 2_poo
Tema 1 2_poo
 
Javascript Módulo 7 - PROFUNDIZACIÓN EN ARRAYS, OBJETOS, PROPIEDADES, MÉTODOS...
Javascript Módulo 7 - PROFUNDIZACIÓN EN ARRAYS, OBJETOS, PROPIEDADES, MÉTODOS...Javascript Módulo 7 - PROFUNDIZACIÓN EN ARRAYS, OBJETOS, PROPIEDADES, MÉTODOS...
Javascript Módulo 7 - PROFUNDIZACIÓN EN ARRAYS, OBJETOS, PROPIEDADES, MÉTODOS...
 
Java
JavaJava
Java
 
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
 
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
 
Herencia y polimorfismo
Herencia y polimorfismoHerencia y polimorfismo
Herencia y polimorfismo
 
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++
 
Presentacion de clases en c#
Presentacion de clases en c#Presentacion de clases en c#
Presentacion de clases en c#
 
C ++.ppt
C ++.pptC ++.ppt
C ++.ppt
 
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
 

Más de ale8819 (11)

Disco Duro
Disco DuroDisco Duro
Disco Duro
 
Fuentes De Campos Magnéticos
Fuentes De Campos MagnéticosFuentes De Campos Magnéticos
Fuentes De Campos Magnéticos
 
AWT- JAVA
AWT- JAVAAWT- JAVA
AWT- JAVA
 
Manejo de eventos
Manejo de eventosManejo de eventos
Manejo de eventos
 
Appleofdiscord
AppleofdiscordAppleofdiscord
Appleofdiscord
 
Qubits
QubitsQubits
Qubits
 
Magnetismo
MagnetismoMagnetismo
Magnetismo
 
Java is an Object-Oriented Language
Java is an Object-Oriented LanguageJava is an Object-Oriented Language
Java is an Object-Oriented Language
 
JAVA
JAVAJAVA
JAVA
 
Excepciones
ExcepcionesExcepciones
Excepciones
 
pci
pcipci
pci
 

Último

RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACIONRESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
amelia poma
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdf
patriciaines1993
 

Último (20)

CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxCONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
 
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADOTIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
 
Factores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdfFactores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdf
 
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxLA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
 
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACIONRESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
 
Linea del tiempo - Filosofos Cristianos.docx
Linea del tiempo - Filosofos Cristianos.docxLinea del tiempo - Filosofos Cristianos.docx
Linea del tiempo - Filosofos Cristianos.docx
 
Sesión de clase APC: Los dos testigos.pdf
Sesión de clase APC: Los dos testigos.pdfSesión de clase APC: Los dos testigos.pdf
Sesión de clase APC: Los dos testigos.pdf
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
 
Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024
 
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
 
La Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración AmbientalLa Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración Ambiental
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdf
 
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
 
Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024
 
Novena de Pentecostés con textos de san Juan Eudes
Novena de Pentecostés con textos de san Juan EudesNovena de Pentecostés con textos de san Juan Eudes
Novena de Pentecostés con textos de san Juan Eudes
 
Lecciones 06 Esc. Sabática. Los dos testigos
Lecciones 06 Esc. Sabática. Los dos testigosLecciones 06 Esc. Sabática. Los dos testigos
Lecciones 06 Esc. Sabática. Los dos testigos
 
Supuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docxSupuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docx
 
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdfPlan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
 
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
 

programacion orientada a objetos

  • 1. Programacion Orientado a Objetos www.fiec.espol.edu.ec
  • 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 Alumno { private String nombre; private String domicilio; public Alumno(String n, String d) {} public void setNombre (String n) {} public String getNombre() {} } UML Java Alumno - nombre: : String - domicilio : String + Alumno (n:String, d:String) + setNombre (n:String) :void + getNombre () :String
  • 18.
  • 19. Instancia Alumno alumno3 = new Alumno(“Jose Lopez”, “Centenario”); Creación de instancias u objetos a partir de la clase Alumno: Alumno alumno1 = new Alumno(“Juan Perez”, “Las Peñas”); Alumno alumno2 = new Alumno(“Abel Garcia”, “Los ceibos”); alumno3: Alumno nombre = Jose Lopez domicilio = Centenario alumno2: Alumno nombre = Abel García domicilio = Los ceibos alumno1: Alumno nombre = Juan Perez domicilio = Las Peñas Alumno - nombre: : String - domicilio : String + Alumno (n:String, d:String) + setNombre (n:String) :void + getNombre () :String
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25. Ejemplo Perro Gato # colorOjo:String + getcolorOjo():String # frecLadrido:int + ladrar():void # frecMaullido:int +maullar():void + esAleman():void + esFrances():void Mamífero Poodle PastorAlemán
  • 27. Herencia 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()
  • 28. Herencia public class Vehiculo { } public class Auto extends Vehiculo{ } public class Avion extends Vehiculo{ } Java UML Vehiculo Auto Avion
  • 29.
  • 31. Herencia Múltiple Problema de ambigüedad: unVehiculoAnfibio.Desplazarse(); Los lenguajes ofrecen mecanismos para deshacer la ambigüedad (en C++ => unVehiculoAnfibio.VehiculoTerrestre::Desplazarse()).
  • 32.
  • 33. Clases abstractas public abstract class Figura { ... } public class Circulo extends Figura{ ... } public class Rectangulo extends Figura{ ... } Figura f = new Figura(); Figura {Abstracto} Circulo Rectangulo
  • 34.
  • 35. 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
  • 36. 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
  • 37.
  • 39.
  • 40.
  • 41. Method-call Binding square circle shape user draw request draw_1 draw_2 Figura1 f = new Rectangulo(); int s = f.obtenerArea(); Rectangulo + obtenerArea() Figura {abstracto} + obtenerArea() Circulo + obtenerArea()
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47. Mensajes Objeto A Objeto B Metodo Datos Metodo Metodo Metodo Metodo Datos Datos Datos Metodo Metodo Metodo Metodo Datos Metodo Metodo Metodo Metodo Datos Datos Datos Metodo Metodo Metodo
  • 48. Mensajes public class Factura { ... i.obtenerPrecio(); ... } public class Item { public obtenerPrecio(){ a.obtenerCosto(); this.calcularPrecio(); } private calcularPrecio(){ ... } }
  • 50.
  • 51.
  • 52.
  • 53.