SlideShare uma empresa Scribd logo
1 de 22
Baixar para ler offline
Introducción a la Programación
           Orientada a Objetos
                 Ing. Daniel Cáceres
Un poco de Historia...
   La PDP-1 (Programmed
    Data Processor-1) es la
    primera computadora
    digital producida en
    1960.
   Es la primera
    computadora en
    aplicar conceptos de
    POO (sin saberlo).
   Es pionera en crear la
    cultura hacker.
¿Qué es la POO?
   Es un paradigma o modelo
    de programación o sea una
    manera de plantearse la
    programación. No es una
    tecnología definida, o un
    programa; Es una
    característica que tienen
    muchos lenguajes de
    programación.
   La programación Orientada
    a Objetos (POO) es más
    cercana al mundo real que
    la programación
    estructurada. Ésta hace
    énfasis en las cosas
    mientras que aquella en los
    procedimientos.               ¡Qué fumada se echaron!
¿Qué es la POO?
   En el mundo real
    ¿qué vemos? cosas,
    objetos.
   Cada objeto
    pertenece a una
    clase de objetos.
   Ese es el principio
    básico de la POO.
   En la foto: una simple
    bicicleta.
Bicicleta eléctrica    Bicicleta caquera




Bicicleta de montaña     Bicicleta para niños
Todas corresponden al concepto de bicicleta.
Esa es la clase de objeto que son.
¿Qué es la POO?
   En JAVA podemos
    crear OBJETOS
    instanciándolos de una
    CLASE.
   Podríamos por ejemplo
    tener una clase que se
    llame BICICLETA, e
    instanciar diez objetos
    para que tengamos
    una cada uno.
Carácterísticas de la POO
                Lascaracterísticas
                de la POO son
                fundamentalmente
                tres:
                 › Abstracción
                 › Herencia
                 › Encapsulamiento
Un Ejemplo
Mira el ejemplo de las
bicicletas
“Bicicleta.java” y
“PruebaBicicleta.java”.
Ejemplo 1
 Conceptos   claves:
  › Propiedad: Son los datos que me interesan
   del objeto.
   Las propiedades de Bicicleta son: cambio,
   velocidad y engranaje.

  › Método es lo que el objeto “hace”. Por
   medio de los métodos puede cambiar las
   propiedades, mostrarlas, hacer
   procedimientos, etc.
Ejemplo 1
 Otro   concepto clave:
  › Instanciar: Crear un objeto a partir de una
   clase.

   Los objetos “instanciados” son birula1,
   birula2 y birulaCaquera.

   OJO: Varias variables pueden referenciar un
   mismo objeto.
Constructores
Antes de continuar,
fijarse en el ejemplo 2.

Los constructores sirven
para establecer el
estado inicial del objeto
al momento de
instanciarlo.

Al ver Bicicleta2 vemos
que podemos hacer
más de un contructor.
Herencia
              Una clase puede “heredar”
               todas las características de
               otra.
              Al heredar, obtiene todas
               las propiedades y el
               comportamiento de la
               clase padre.
              En java se suele llamar
               superclase y subclase.
              Otros dicen padre e hijo.
Ejemplo 3
               En el ejemplo tres se
                declaran tres clases
                más que “heredan” de
                Bicicleta:
                › Bicicleta de Montaña
                › Bicicleta de Camino
                › Bicicleta de Dos Asientos
Ejemplo 3
 Aspectos   que hay que fijarse:
  › La palabra extends quiere decir que
    BicicletaDeMontaña recibe todos sus
    miembros de Bicicleta.
  › La montañesa tiene velocidad y todas las
    propiedades de una bicicleta.
  › La palabra super manda a llamar al
    constructur de la superclase.
Abstracción
   Cuando vamos a programar
    con POO se vale usar la
    máxima de la guerra: divide y
    vencerás.
   Tenemos que partir nuestro
    código en grupos de cósigo
    más pequeños que, al unirlos,
    hacen el trabajo.
   Un buen ejemplo de
    abstracción es el cuerpo
    humano.
Abstracción
                 Básicamente es la
                  capacidad de separar
                  los elementos (al menos
                  mentalmente) para
                  poder verlos de forma
                  singular. Como cuando
                  describimos el cuerpo
                  humano y decimos
                  cabeza, brazo(s),
                  pierna(s), etc.
Ejemplo 4: Abstracción
 Siintentáramos hacer un programa para
  el proceso de admisión de Kinal, ¿Cómo
  sería utilizando lenguaje estructurado?
   › Muchos ciclos, miles de decisiones…
 Con  la POO, podemos dividir el
  problema creando una clase para cada
  personaje importante, y para cada cosa
  importante. Las clases podrían ser:
   › Alumno, Profesor, Examen…
Encapsulamiento
   La Programación
    Orientada a Objetos
    hace que el código
    se desarrolle por
    cubículos.
   Los demás no
    necesariamente
    tienen por que ver mi
    código, y viceversa.
   Es más seguro.
Encapsulamiento
   Las propiedades que
    le interesan a otras
    clases las hago
    públicas con public.
   A las propiedades
    que no le interesan a
    los demás las hago
    private.
   También existe
    protected y dejarlo
    sin nada tiene otro
    significado.
Ejemplo 5: Encapsulamiento
 En el ejemplo borré intencionalmente el
  archivo “usuario.java”, pero está la clase
  “usuario.class”.
 Al ejecutar el programa, no se puede
  saber cual es la contraseña.
 Se dice que la contraseña está
  “encapsulada”.
Resumen: CLASES
public class nombre_clase extends superclase {
   // Propiedades
   public int propiedad1;
   public String propiedad2;
   …
   // Constructor(es)
   public nombre_clase (parámetros…)
   {    …    }
   public nombre_clase (parámetros…)
   {    …    }
   // Métodos
   public int método1 (parámetros…)
   {    …    }
   public String método2 (parámetros…)
   {    …    }
   public void método3 (parámetros…)
   {    …    }
}

Mais conteúdo relacionado

Mais procurados

Fundamentos de Programación Orientada a Objetos
Fundamentos de Programación Orientada a ObjetosFundamentos de Programación Orientada a Objetos
Fundamentos de Programación Orientada a Objetos
Marines Ahuanlla
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
lindacajaperuiz
 
Elementos básicos de la programación orientada a objetos.
Elementos básicos de la programación orientada a objetos.Elementos básicos de la programación orientada a objetos.
Elementos básicos de la programación orientada a objetos.
Whaleejaa Wha
 
Programacion Orientada a Objetos
Programacion Orientada a ObjetosProgramacion Orientada a Objetos
Programacion Orientada a Objetos
chutas666
 

Mais procurados (20)

Conceptos basicos POO
Conceptos basicos POOConceptos basicos POO
Conceptos basicos POO
 
Fundamentos de Programación Orientada a Objetos
Fundamentos de Programación Orientada a ObjetosFundamentos de Programación Orientada a Objetos
Fundamentos de Programación Orientada a Objetos
 
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
 
Programacion Orientada a Objetos
Programacion Orientada a ObjetosProgramacion Orientada a Objetos
Programacion Orientada a Objetos
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
 
Programación Orientada a Objetos - Resumen
Programación Orientada a Objetos - ResumenProgramación Orientada a Objetos - Resumen
Programación Orientada a Objetos - Resumen
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
 
Elementos básicos de la programación orientada a objetos.
Elementos básicos de la programación orientada a objetos.Elementos básicos de la programación orientada a objetos.
Elementos básicos de la programación orientada a objetos.
 
Programacion orientada a objetos
Programacion orientada a objetosProgramacion orientada a objetos
Programacion orientada a objetos
 
Programacion Orientada a Objetos
Programacion Orientada a ObjetosProgramacion Orientada a Objetos
Programacion Orientada a Objetos
 
Poo presentacion
Poo presentacionPoo presentacion
Poo presentacion
 
Programación orientada a objetos, fundamentos
Programación orientada a objetos, fundamentosProgramación orientada a objetos, fundamentos
Programación orientada a objetos, fundamentos
 
Clase3 Programación Orientada a Objetos
Clase3 Programación Orientada a ObjetosClase3 Programación Orientada a Objetos
Clase3 Programación Orientada a Objetos
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
 
ProgramacióN Orientada A Objetos
ProgramacióN Orientada A ObjetosProgramacióN Orientada A Objetos
ProgramacióN Orientada A Objetos
 
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)
 
Programación orientada al objeto
Programación orientada al objetoProgramación orientada al objeto
Programación orientada al objeto
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
 
POO sencillito
POO sencillitoPOO sencillito
POO sencillito
 
10. programación orientada a objetos (java)
10. programación orientada a objetos (java)10. programación orientada a objetos (java)
10. programación orientada a objetos (java)
 

Destaque

Programavintec
ProgramavintecProgramavintec
Programavintec
InnoBuild
 
参加型GISの現状と課題コメント
参加型GISの現状と課題コメント参加型GISの現状と課題コメント
参加型GISの現状と課題コメント
Toshikazu Seto
 
PRES Constitución - Bordemaritimo
PRES Constitución - BordemaritimoPRES Constitución - Bordemaritimo
PRES Constitución - Bordemaritimo
Pres Constitución
 
SINTESIS Que es? y Donde se aplica POO?
SINTESIS Que es?  y Donde se aplica POO?SINTESIS Que es?  y Donde se aplica POO?
SINTESIS Que es? y Donde se aplica POO?
ariannalizeeth
 
Curso java inicial 1 poo
Curso java inicial   1 pooCurso java inicial   1 poo
Curso java inicial 1 poo
Herman Vargas
 
COMPILADOR G++
COMPILADOR G++COMPILADOR G++
COMPILADOR G++
HM47
 

Destaque (20)

Clases poo
Clases pooClases poo
Clases poo
 
POO: Herencia, Abstraccion y Polimorfismo
POO: Herencia, Abstraccion y PolimorfismoPOO: Herencia, Abstraccion y Polimorfismo
POO: Herencia, Abstraccion y Polimorfismo
 
programacion orientada a objetos
programacion orientada a objetosprogramacion orientada a objetos
programacion orientada a objetos
 
Relatório Genius [Design de Interação PUC/MG]
Relatório Genius [Design de Interação PUC/MG]Relatório Genius [Design de Interação PUC/MG]
Relatório Genius [Design de Interação PUC/MG]
 
Inventorum - NOAH15 London
Inventorum - NOAH15 LondonInventorum - NOAH15 London
Inventorum - NOAH15 London
 
Turbo Jam Review: How to Achieve Weekly Weight Loss With Turbo Jam Workout
Turbo Jam Review: How to Achieve Weekly Weight Loss With Turbo Jam WorkoutTurbo Jam Review: How to Achieve Weekly Weight Loss With Turbo Jam Workout
Turbo Jam Review: How to Achieve Weekly Weight Loss With Turbo Jam Workout
 
Programavintec
ProgramavintecProgramavintec
Programavintec
 
Presentation EDE PEP
Presentation EDE PEPPresentation EDE PEP
Presentation EDE PEP
 
参加型GISの現状と課題コメント
参加型GISの現状と課題コメント参加型GISの現状と課題コメント
参加型GISの現状と課題コメント
 
Instrumentos musicales s.c.l
Instrumentos musicales s.c.lInstrumentos musicales s.c.l
Instrumentos musicales s.c.l
 
PRES Constitución - Bordemaritimo
PRES Constitución - BordemaritimoPRES Constitución - Bordemaritimo
PRES Constitución - Bordemaritimo
 
Programación Orientada Objetos Java Unidad 1
Programación Orientada Objetos Java Unidad 1Programación Orientada Objetos Java Unidad 1
Programación Orientada Objetos Java Unidad 1
 
Reporter's guide to the Energiewende 2016
Reporter's guide to the Energiewende 2016Reporter's guide to the Energiewende 2016
Reporter's guide to the Energiewende 2016
 
SINTESIS Que es? y Donde se aplica POO?
SINTESIS Que es?  y Donde se aplica POO?SINTESIS Que es?  y Donde se aplica POO?
SINTESIS Que es? y Donde se aplica POO?
 
¿QUE ES Y DONDE SE APLICA LA PROGRAMACION ORIENTADA A OBJETOS?
¿QUE ES Y DONDE SE APLICA LA PROGRAMACION ORIENTADA A OBJETOS?¿QUE ES Y DONDE SE APLICA LA PROGRAMACION ORIENTADA A OBJETOS?
¿QUE ES Y DONDE SE APLICA LA PROGRAMACION ORIENTADA A OBJETOS?
 
Curso java inicial 1 poo
Curso java inicial   1 pooCurso java inicial   1 poo
Curso java inicial 1 poo
 
COMPILADOR G++
COMPILADOR G++COMPILADOR G++
COMPILADOR G++
 
POO Programación Orientada a Objeto(s)
POO Programación Orientada a Objeto(s)POO Programación Orientada a Objeto(s)
POO Programación Orientada a Objeto(s)
 
Programacion Orienta A Objetos
Programacion Orienta A ObjetosProgramacion Orienta A Objetos
Programacion Orienta A Objetos
 
Poo
PooPoo
Poo
 

Semelhante a POO

Programacion estructurad de base de datos
Programacion estructurad de base de datosProgramacion estructurad de base de datos
Programacion estructurad de base de datos
Juan Moran Sanchez
 
Tema 2. Programación Estructurada 11-02-23.pdf
Tema 2. Programación Estructurada 11-02-23.pdfTema 2. Programación Estructurada 11-02-23.pdf
Tema 2. Programación Estructurada 11-02-23.pdf
Noe Castillo
 
Paradigma de Programación Orientada a Objetos
Paradigma de Programación Orientada a ObjetosParadigma de Programación Orientada a Objetos
Paradigma de Programación Orientada a Objetos
Jose Sanchez
 
Anon metodologia de la programacion orientada a objetos con c++
Anon   metodologia de la programacion orientada a objetos con c++Anon   metodologia de la programacion orientada a objetos con c++
Anon metodologia de la programacion orientada a objetos con c++
ratasquerosaXX
 

Semelhante a POO (20)

Programacion estructurad de base de datos
Programacion estructurad de base de datosProgramacion estructurad de base de datos
Programacion estructurad de base de datos
 
Clase 2
Clase 2 Clase 2
Clase 2
 
Conceptos de Programación Orientada a Objetos.pdf
Conceptos de Programación Orientada a Objetos.pdfConceptos de Programación Orientada a Objetos.pdf
Conceptos de Programación Orientada a Objetos.pdf
 
Poo
PooPoo
Poo
 
Unidad 1_Programacion Orientada a Objetos
Unidad 1_Programacion Orientada a ObjetosUnidad 1_Programacion Orientada a Objetos
Unidad 1_Programacion Orientada a Objetos
 
Lenguaje de programación JAVA
Lenguaje de programación JAVALenguaje de programación JAVA
Lenguaje de programación JAVA
 
Lenguaje de Programación Java
Lenguaje de Programación JavaLenguaje de Programación Java
Lenguaje de Programación Java
 
Lenguaje de Programación Java
Lenguaje de Programación JavaLenguaje de Programación Java
Lenguaje de Programación Java
 
Manual de-java
Manual de-javaManual de-java
Manual de-java
 
Tema 2. Programación Estructurada 11-02-23.pdf
Tema 2. Programación Estructurada 11-02-23.pdfTema 2. Programación Estructurada 11-02-23.pdf
Tema 2. Programación Estructurada 11-02-23.pdf
 
Poo teoria
Poo   teoriaPoo   teoria
Poo teoria
 
Programacion orientada a obetos
Programacion orientada a obetosProgramacion orientada a obetos
Programacion orientada a obetos
 
U.T. 3.- Programación Orientada a Objetos. Programación JAVA
U.T. 3.- Programación Orientada a Objetos. Programación JAVAU.T. 3.- Programación Orientada a Objetos. Programación JAVA
U.T. 3.- Programación Orientada a Objetos. Programación JAVA
 
clase 01-Programacion Oientada a Objetos.pptx
clase 01-Programacion Oientada a Objetos.pptxclase 01-Programacion Oientada a Objetos.pptx
clase 01-Programacion Oientada a Objetos.pptx
 
ESTUDIANTE
ESTUDIANTEESTUDIANTE
ESTUDIANTE
 
PROYECTO SCRATCH
PROYECTO SCRATCHPROYECTO SCRATCH
PROYECTO SCRATCH
 
Tema nº 1
Tema nº 1Tema nº 1
Tema nº 1
 
Tema nº 1
Tema nº 1Tema nº 1
Tema nº 1
 
Paradigma de Programación Orientada a Objetos
Paradigma de Programación Orientada a ObjetosParadigma de Programación Orientada a Objetos
Paradigma de Programación Orientada a Objetos
 
Anon metodologia de la programacion orientada a objetos con c++
Anon   metodologia de la programacion orientada a objetos con c++Anon   metodologia de la programacion orientada a objetos con c++
Anon metodologia de la programacion orientada a objetos con c++
 

Mais de Daniel Cáceres

Medios Para Vivir La Santa Pureza
Medios Para Vivir La Santa PurezaMedios Para Vivir La Santa Pureza
Medios Para Vivir La Santa Pureza
Daniel Cáceres
 

Mais de Daniel Cáceres (14)

Ejercicios1
Ejercicios1Ejercicios1
Ejercicios1
 
Swing1
Swing1Swing1
Swing1
 
Condicionales
CondicionalesCondicionales
Condicionales
 
Variables1
Variables1Variables1
Variables1
 
Variables2
Variables2Variables2
Variables2
 
Swing2
Swing2Swing2
Swing2
 
Variables3
Variables3Variables3
Variables3
 
Ciclos
CiclosCiclos
Ciclos
 
Medios Para Vivir La Santa Pureza
Medios Para Vivir La Santa PurezaMedios Para Vivir La Santa Pureza
Medios Para Vivir La Santa Pureza
 
La Sexualidad Humana
La Sexualidad HumanaLa Sexualidad Humana
La Sexualidad Humana
 
La Vida Don De Dios
La Vida Don De DiosLa Vida Don De Dios
La Vida Don De Dios
 
El Culto Debido A Dios
El Culto Debido A DiosEl Culto Debido A Dios
El Culto Debido A Dios
 
El Decálogo (Los diez mandamientos)
El Decálogo (Los diez mandamientos)El Decálogo (Los diez mandamientos)
El Decálogo (Los diez mandamientos)
 
La Familia
La FamiliaLa Familia
La Familia
 

Último

🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
EliaHernndez7
 
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfNUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
UPTAIDELTACHIRA
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Fernando Solis
 

Último (20)

Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024
 
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
 
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
 
FUERZA Y MOVIMIENTO ciencias cuarto basico.ppt
FUERZA Y MOVIMIENTO ciencias cuarto basico.pptFUERZA Y MOVIMIENTO ciencias cuarto basico.ppt
FUERZA Y MOVIMIENTO ciencias cuarto basico.ppt
 
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...
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
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
 
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
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literario
 
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfNUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
 
Usos y desusos de la inteligencia artificial en revistas científicas
Usos y desusos de la inteligencia artificial en revistas científicasUsos y desusos de la inteligencia artificial en revistas científicas
Usos y desusos de la inteligencia artificial en revistas científicas
 
Revista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdfRevista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdf
 
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxPLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
 
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
 
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
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptx
 
activ4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdfactiv4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.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
 
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
SESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.docSESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.doc
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
 
Tema 11. Dinámica de la hidrosfera 2024
Tema 11.  Dinámica de la hidrosfera 2024Tema 11.  Dinámica de la hidrosfera 2024
Tema 11. Dinámica de la hidrosfera 2024
 

POO

  • 1. Introducción a la Programación Orientada a Objetos Ing. Daniel Cáceres
  • 2. Un poco de Historia...  La PDP-1 (Programmed Data Processor-1) es la primera computadora digital producida en 1960.  Es la primera computadora en aplicar conceptos de POO (sin saberlo).  Es pionera en crear la cultura hacker.
  • 3. ¿Qué es la POO?  Es un paradigma o modelo de programación o sea una manera de plantearse la programación. No es una tecnología definida, o un programa; Es una característica que tienen muchos lenguajes de programación.  La programación Orientada a Objetos (POO) es más cercana al mundo real que la programación estructurada. Ésta hace énfasis en las cosas mientras que aquella en los procedimientos. ¡Qué fumada se echaron!
  • 4. ¿Qué es la POO?  En el mundo real ¿qué vemos? cosas, objetos.  Cada objeto pertenece a una clase de objetos.  Ese es el principio básico de la POO.  En la foto: una simple bicicleta.
  • 5. Bicicleta eléctrica Bicicleta caquera Bicicleta de montaña Bicicleta para niños
  • 6. Todas corresponden al concepto de bicicleta. Esa es la clase de objeto que son.
  • 7. ¿Qué es la POO?  En JAVA podemos crear OBJETOS instanciándolos de una CLASE.  Podríamos por ejemplo tener una clase que se llame BICICLETA, e instanciar diez objetos para que tengamos una cada uno.
  • 8. Carácterísticas de la POO  Lascaracterísticas de la POO son fundamentalmente tres: › Abstracción › Herencia › Encapsulamiento
  • 9. Un Ejemplo Mira el ejemplo de las bicicletas “Bicicleta.java” y “PruebaBicicleta.java”.
  • 10. Ejemplo 1  Conceptos claves: › Propiedad: Son los datos que me interesan del objeto. Las propiedades de Bicicleta son: cambio, velocidad y engranaje. › Método es lo que el objeto “hace”. Por medio de los métodos puede cambiar las propiedades, mostrarlas, hacer procedimientos, etc.
  • 11. Ejemplo 1  Otro concepto clave: › Instanciar: Crear un objeto a partir de una clase. Los objetos “instanciados” son birula1, birula2 y birulaCaquera. OJO: Varias variables pueden referenciar un mismo objeto.
  • 12. Constructores Antes de continuar, fijarse en el ejemplo 2. Los constructores sirven para establecer el estado inicial del objeto al momento de instanciarlo. Al ver Bicicleta2 vemos que podemos hacer más de un contructor.
  • 13. Herencia  Una clase puede “heredar” todas las características de otra.  Al heredar, obtiene todas las propiedades y el comportamiento de la clase padre.  En java se suele llamar superclase y subclase.  Otros dicen padre e hijo.
  • 14. Ejemplo 3  En el ejemplo tres se declaran tres clases más que “heredan” de Bicicleta: › Bicicleta de Montaña › Bicicleta de Camino › Bicicleta de Dos Asientos
  • 15. Ejemplo 3  Aspectos que hay que fijarse: › La palabra extends quiere decir que BicicletaDeMontaña recibe todos sus miembros de Bicicleta. › La montañesa tiene velocidad y todas las propiedades de una bicicleta. › La palabra super manda a llamar al constructur de la superclase.
  • 16. Abstracción  Cuando vamos a programar con POO se vale usar la máxima de la guerra: divide y vencerás.  Tenemos que partir nuestro código en grupos de cósigo más pequeños que, al unirlos, hacen el trabajo.  Un buen ejemplo de abstracción es el cuerpo humano.
  • 17. Abstracción  Básicamente es la capacidad de separar los elementos (al menos mentalmente) para poder verlos de forma singular. Como cuando describimos el cuerpo humano y decimos cabeza, brazo(s), pierna(s), etc.
  • 18. Ejemplo 4: Abstracción  Siintentáramos hacer un programa para el proceso de admisión de Kinal, ¿Cómo sería utilizando lenguaje estructurado? › Muchos ciclos, miles de decisiones…  Con la POO, podemos dividir el problema creando una clase para cada personaje importante, y para cada cosa importante. Las clases podrían ser: › Alumno, Profesor, Examen…
  • 19. Encapsulamiento  La Programación Orientada a Objetos hace que el código se desarrolle por cubículos.  Los demás no necesariamente tienen por que ver mi código, y viceversa.  Es más seguro.
  • 20. Encapsulamiento  Las propiedades que le interesan a otras clases las hago públicas con public.  A las propiedades que no le interesan a los demás las hago private.  También existe protected y dejarlo sin nada tiene otro significado.
  • 21. Ejemplo 5: Encapsulamiento  En el ejemplo borré intencionalmente el archivo “usuario.java”, pero está la clase “usuario.class”.  Al ejecutar el programa, no se puede saber cual es la contraseña.  Se dice que la contraseña está “encapsulada”.
  • 22. Resumen: CLASES public class nombre_clase extends superclase { // Propiedades public int propiedad1; public String propiedad2; … // Constructor(es) public nombre_clase (parámetros…) { … } public nombre_clase (parámetros…) { … } // Métodos public int método1 (parámetros…) { … } public String método2 (parámetros…) { … } public void método3 (parámetros…) { … } }