SlideShare une entreprise Scribd logo
1  sur  47
Télécharger pour lire hors ligne
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]

Contenu connexe

Tendances

Modelo Orientado A Objetos
Modelo Orientado A ObjetosModelo Orientado A Objetos
Modelo Orientado A Objetosjose_rob
 
Clases y objetos de java
Clases y objetos de javaClases y objetos de java
Clases y objetos de javainnovalabcun
 
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 objetosClara Patricia Avella Ibañez
 
Implementación de clases
Implementación de clasesImplementación de clases
Implementación de clasesFernando Solis
 
Lenguajes de Programación: Herencia, Polimorfismo Y UML
Lenguajes de Programación: Herencia, Polimorfismo Y UMLLenguajes de Programación: Herencia, Polimorfismo Y UML
Lenguajes de Programación: Herencia, Polimorfismo Y UMLLuis Fernando Aguas Bucheli
 
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 datosJosé Antonio Sandoval Acosta
 
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
 
Programación Orientada a Objetos - constructores y destructores
Programación Orientada a Objetos - constructores y destructoresProgramación Orientada a Objetos - constructores y destructores
Programación Orientada a Objetos - constructores y destructoresAlvaro Enrique Ruano
 
Analisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A ObjetosAnalisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A Objetosyoiner santiago
 
Colas en programacion
Colas en programacionColas en programacion
Colas en programacionLuis Igoodbad
 
Flujos y archivo en java
Flujos y archivo en javaFlujos y archivo en java
Flujos y archivo en javaBelen Gonzalez
 
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
 
POO: Encapsulamiento, principio de ocultación, recolección de basura
POO: Encapsulamiento, principio de ocultación, recolección de basuraPOO: Encapsulamiento, principio de ocultación, recolección de basura
POO: Encapsulamiento, principio de ocultación, recolección de basura1da4
 
UML - Casos de Uso y Diagramas de Clase
UML - Casos de Uso y Diagramas de ClaseUML - Casos de Uso y Diagramas de Clase
UML - Casos de Uso y Diagramas de ClaseGuillermo Díaz
 
Clases abstractas e interfaces
Clases abstractas e interfacesClases abstractas e interfaces
Clases abstractas e interfaceslopezcortes
 
1.1 tipos de datos abstractos
1.1 tipos de datos abstractos1.1 tipos de datos abstractos
1.1 tipos de datos abstractoserwin_alexander
 

Tendances (20)

Modelo Orientado A Objetos
Modelo Orientado A ObjetosModelo Orientado A Objetos
Modelo Orientado A Objetos
 
Búsqueda secuencial y binaria
Búsqueda secuencial y binariaBúsqueda secuencial y binaria
Búsqueda secuencial y binaria
 
Clases y objetos de java
Clases y objetos de javaClases y objetos de java
Clases y objetos de java
 
Programacion Orientada a Objetos
Programacion Orientada a ObjetosProgramacion Orientada a Objetos
Programacion Orientada a Objetos
 
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
 
Implementación de clases
Implementación de clasesImplementación de clases
Implementación de clases
 
Lenguajes de Programación: Herencia, Polimorfismo Y UML
Lenguajes de Programación: Herencia, Polimorfismo Y UMLLenguajes de Programación: Herencia, Polimorfismo Y UML
Lenguajes de Programación: Herencia, Polimorfismo Y UML
 
Paradigmas de programación
Paradigmas de programaciónParadigmas de programación
Paradigmas de programación
 
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
 
Estructura datos pilas y colas
Estructura datos pilas y colasEstructura datos pilas y colas
Estructura datos pilas y colas
 
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
 
Programación Orientada a Objetos - constructores y destructores
Programación Orientada a Objetos - constructores y destructoresProgramación Orientada a Objetos - constructores y destructores
Programación Orientada a Objetos - constructores y destructores
 
Analisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A ObjetosAnalisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A Objetos
 
Colas en programacion
Colas en programacionColas en programacion
Colas en programacion
 
Flujos y archivo en java
Flujos y archivo en javaFlujos y archivo en java
Flujos y archivo 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
 
POO: Encapsulamiento, principio de ocultación, recolección de basura
POO: Encapsulamiento, principio de ocultación, recolección de basuraPOO: Encapsulamiento, principio de ocultación, recolección de basura
POO: Encapsulamiento, principio de ocultación, recolección de basura
 
UML - Casos de Uso y Diagramas de Clase
UML - Casos de Uso y Diagramas de ClaseUML - Casos de Uso y Diagramas de Clase
UML - Casos de Uso y Diagramas de Clase
 
Clases abstractas e interfaces
Clases abstractas e interfacesClases abstractas e interfaces
Clases abstractas e interfaces
 
1.1 tipos de datos abstractos
1.1 tipos de datos abstractos1.1 tipos de datos abstractos
1.1 tipos de datos abstractos
 

En vedette

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
 

En vedette (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
 

Similaire à 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
 
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
 
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
 

Similaire à 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
 
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
 
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
 

Plus 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
 

Plus 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.