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

Clases y objetos de java
Clases y objetos de javaClases y objetos de java
Clases y objetos de java
innovalabcun
 
Estructura de datos: lista, pilas y colas
Estructura de datos: lista, pilas y colasEstructura de datos: lista, pilas y colas
Estructura de datos: lista, pilas y colas
Huascar Génere
 

La actualidad más candente (20)

Programación Orientada a Objetos - Resumen
Programación Orientada a Objetos - ResumenProgramación Orientada a Objetos - Resumen
Programación Orientada a Objetos - Resumen
 
Métodos POO
Métodos POOMétodos POO
Métodos POO
 
COLAS
COLASCOLAS
COLAS
 
P.O.O.
P.O.O.P.O.O.
P.O.O.
 
Herencia poo
Herencia pooHerencia poo
Herencia poo
 
Clases y objetos de java
Clases y objetos de javaClases y objetos de java
Clases y objetos de java
 
Conceptos basicos POO
Conceptos basicos POOConceptos basicos POO
Conceptos basicos POO
 
Estructura datos pilas y colas
Estructura datos pilas y colasEstructura datos pilas y colas
Estructura datos pilas y colas
 
Estructura de datos - Unidad 1: Introducción a las estructuras de datos
Estructura de datos - Unidad 1: Introducción a las estructuras de datosEstructura de datos - Unidad 1: Introducción a las estructuras de datos
Estructura de datos - Unidad 1: Introducción a las estructuras de datos
 
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)
 
Hilos En Java
Hilos En JavaHilos En Java
Hilos En Java
 
Estructura de datos: lista, pilas y colas
Estructura de datos: lista, pilas y colasEstructura de datos: lista, pilas y colas
Estructura de datos: lista, pilas y colas
 
Métodos en programacion
Métodos en  programacionMétodos en  programacion
Métodos en programacion
 
1. introduccion a la programación orientada a objeto (poo)
1.  introduccion a la programación orientada a objeto (poo)1.  introduccion a la programación orientada a objeto (poo)
1. introduccion a la programación orientada a objeto (poo)
 
Programacion Orientada a Objetos en python
Programacion Orientada a Objetos en pythonProgramacion Orientada a Objetos en python
Programacion Orientada a Objetos en python
 
Normalizacion de bases de datos
Normalizacion de bases de datosNormalizacion de bases de datos
Normalizacion de bases de datos
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clases
 
Recursividad y Cola (Estructura de Datos)
Recursividad y Cola (Estructura de Datos)Recursividad y Cola (Estructura de Datos)
Recursividad y Cola (Estructura de Datos)
 
Presentacion de Modelo entidad -relación de Base de Datos
Presentacion de Modelo entidad -relación de Base de Datos Presentacion de Modelo entidad -relación de Base de Datos
Presentacion de Modelo entidad -relación de Base de Datos
 
Mapa conceptual poo
Mapa conceptual pooMapa conceptual poo
Mapa conceptual poo
 

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

programacion orientada a objetos
programacion orientada a objetosprogramacion orientada a objetos
programacion orientada a objetos
jent46
 
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
 

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
 
programacion orientada a objetos
programacion orientada a objetosprogramacion orientada a objetos
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.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
 

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

2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
RigoTito
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
El Fortí
 
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
MiNeyi1
 
Cuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfCuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdf
NancyLoaa
 
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfNUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
UPTAIDELTACHIRA
 

Último (20)

2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
 
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
 
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
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdfTema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
 
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
 
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdf
Programacion Anual Matemática5    MPG 2024  Ccesa007.pdfProgramacion Anual Matemática5    MPG 2024  Ccesa007.pdf
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdf
 
Unidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la InvestigaciónUnidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la Investigación
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
 
Sesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronósticoSesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronóstico
 
ACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJO
ACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJOACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJO
ACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJO
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
 
Infografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdfInfografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.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
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
 
Cuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfCuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdf
 
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfNUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
 

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.