SlideShare una empresa de Scribd logo
1 de 35
Descargar para leer sin conexión
Elementos básicos de la
programación orientada a
        objetos

  M.C. Mario Alberto Gómez Rodríguez
Paradigma de programación


●
 Colección de conceptos que guían el proceso de
construcción de un programa, determinando su
estructura.

●
 Estos conceptos controlan la forma en que pensamos y
formulamos los programas.
Paradigma de programación



   Un lenguaje       de   programación        refleja    un
    paradigma.
    PARADIGMA                      LENGUAJE
•   Imperativo               C, Pascal, Cobol, ...
•   Funcional                Lisp, Hope, Miranda, ...
•   Lógico                   Prolog, Parlog, ...
•   Orientado a Objetos      Smalltalk, C++, Eiffel, Java, ...
¿Qué es la Orientación a Objetos?

   El software se organiza como una colección de
    objetos que contienen tanto estructura como
    comportamiento.

       Un sistema OO funciona mediante la colaboración entre
        los objetos que se comunican entre sí.

       Los elementos que forman los sistemas del mundo real
        se corresponden con objetos software.




                                                                4
¿Qué es el desarrollo OO?

Una nueva forma de pensar acerca del software
basándose en abstracciones que existen en el mundo
real.


                                       Bombilla



                                       color
                                     encender()
                                      apagar()
Orientado a Objetos
 La POO difiere de la programación procedural porque
  ésta enfatiza la secuencia de pasos codificados para
  resolver un problema, mientras que la POO hace
  énfasis en la creación e interacción de objetos.
Conceptos básicos: Clases

   Las clases son abstracciones que representan a un
    conjunto de objetos con un comportamiento e interfaz
    común.

   Una clase no es más que una plantilla para la
    creación de objetos.

   Plantilla que describe la forma en que están
    estructurados internamente una familia de objetos.




                                                       7
Conceptos básicos: Clases
Cuando se crea un objeto (instanciación) se ha de especificar de
qué clase es el objeto instanciado, para que el compilador comprenda
las características del objeto.

Los objetos de la misma clase tienen la misma definición de sus
operaciones y de su estructura de información
Conceptos básicos: Clases
Una clases esta formada por:
  Atributos: variables int, float, double , char, etc.
      Almacenan el estado actual de un objeto

   Métodos: public void cambiarColor (String nuevoColor){}
     Definen el comportamiento de un objeto
     Modifican los atributos
                                                      Lavadora
                                               marca
      Punto             Atributos              modelo
   x,y: float                                  capacidad: integer
                           Métodos             ...
   trasladar(a,b)                              Programar
   distancia(pto)
                                               PonerRopa
                                               CerrarPuerta
                                               Lavar
Estructura de una clase en Java

   HelloWorld.java
public class HelloWorld {

    private String world;    Atibuto

    public HelloWorld( ) {
       world = "World!!!";
    }
                                              Métodos
    public void imprime( String hello ) {
       System.out.println( hello + world );
    }
}




                                                    10
Conceptos básicos: Objetos

Entidad que es capaz de almacenar su estado
(información) y que posee un conjunto de operaciones
(que definen su comportamiento) que permiten
examinar o modificar su estado.

 Los objetos son instancias de una clase
Objeto


 Construcción de un objeto:


            Definir
              componentes



           Ensamble            de
             componentes


            Objeto final
Objeto y sus componentes:
Las clases y los objetos están en todas partes

     Vehículo

                                        Burro:Animal
                     Animal




                                            Punto


      Figura                    (1,3)
                                              (5,2.5)
                                    (2,2)
                                    (2,1)

                                                        14
Conceptos básicos: Objetos
Un objeto consta de :
  Tiempo de vida
  Espacio de memoria asignado a través de la instanciación
  Estado: Mantenido por sus atributos; Define las propiedades
  del objeto y el estado en que se encuentra en un momento
  determinado de su existencia.
  Se pueden manipular los atributos/métodos para modificar
  su estado:
      miObjeto.cambiarColor(“Rojo”);

                                       ID:Lavadora


                               marca=“Lapava”
                               capacidad=5
                               estado=centrifugando
Ejemplo: Instanciación de una clase
NomClase nomReferencia = new NomClase(param);
Tarjeta tarjetaDebito = new Tarjeta( );
Clases, instancias y objetos
Identificando objetos


Los objetos pueden ser físicos o conceptuales:
 Una cuenta de cliente es un ejemplo de un objeto
  conceptual porque no se puede tocar físicamente.

 Un cajero automático es algo que mucha gente toca todos
  los días y es un ejemplo de un objeto físico.
Identificando objetos


Los objetos tienen atributos (características):
 Tal como: tamaño, nombre, color, forma, etc.
 Los valores de los atributos son referidos como el estado
  actual del objeto.
 Por ejemplo, un objeto puede tener un atributo color con el
  valor de rojo.
Identificando objetos


Los objetos tienen operaciones (las cosas que
pueden hacer):
 Tal como asignar un valor, desplegar una pantalla o
  incrementar rapidez.
 Las operaciones usualmente afectan los atributos de los
  objetos.
Objeto

   Cosas tangibles: Estudiantes, Persona, Vehículo, producto, …
   Papeles que representa: Agente, profesor, vendedor, ...
   Eventos: Aterrizaje, Suspensión, Ventana, Devolución, ...
   Interacción: Préstamo, Matrícula, Registro Público, ...
   Organizaciones: Financiera, Sindicato, ...
   Conceptos: Proyecto, Materia, ...
   Localizaciones: Punto de Venta, Bodega, Oficina, ...
   Visibles en la interfaz: Icono, Imagen, Ventana, ...
   Dispositivos: Sensor, Lector de Tarjeta, Teclado, Pantalla, ...
OBJETO = ESTADO +
                  MÉTODOS
ESTADO                     Métodos
 Conjunto de valores       Definen           el
  que pueden tomar           comportamiento de
  los atributos de un        un objeto.
  objeto.                   Envían    y reciben
 Condición actual del       mensajes hacia otros
  objeto.                    objetos.
 Varía dinámicamente

  (con el tiempo).
 No    es    accesible/
  modificable     desde
  afuera.
Proceso de creación de objetos

   Clase Silla                             Instanciar                                    Objetos Silla
                                           clase Silla
                                                                                                 silla_1

                                                                              ;
                                                                       a( )
                                                                   Sill
                                                          =    new
                                                      a_1
                                                a sill
                                           Sill


                                             Silla silla_2 = new Silla( );
                                                                                                 silla_2


                                              Silla
                                                      silla
                                                           _   3=
                                                                    new
                                                                          Silla
                                                                                (   );

public class Silla {
  private String color;                                                                          silla_3
  public void asignarColor(String col) {
    color = col;
  }
}
Programas


➢
    Una aplicación (un programa) se compone de:
      ➢
        Una serie de clases
      ➢
        De las cuales se crean una serie de instancias
        (objetos)
      ➢
        Que interactúan entre sí enviándose mensajes
        (llamando a los métodos de los objetos)
Abstracción


➢
 Abstraer es suprimir u ocultar algunos detalles de
un proceso o de un elemento, para resaltar algunos
aspectos, detalles o estructuras.
¿Qué es Java?


➢
  Lenguaje de programación orientada a objetos.
➢
  La plataforma Java esta constituida por:
    ➢
      Lenguaje de programación Java.
    ➢
      Conjunto de bibliotecas estándar (Java APIs).
    ➢
      Conjunto de herramientas para el desarrollo de
      programas:
       ➢
         Compilador a código-byte (javac)
       ➢
         Generador de documentación (javadoc).
       ➢
         Ejecución de programa (intérprete del
         código-byte (java)).
    ➢
      Entorno de ejecución cuyo principal elemento
      es la máquina virtual para ejecutar el código-
      byte
Entorno de ejecución Java

     Fuentes Java

  Herramientas (javac)

       Bytecode


   Sistema de ejecución        Java API
             Máquina Virtual
        Sistema Operativo
             Hardware
Ejecución de un programa en Java

➢
    Java es independiente de la plataforma.
      ➢
          Plataforma: conjunto de hardware   (computadora   con   su
          procesador) y sistema operativo.

                             Editor

                       Programa fuente
                       Archivo.java

                          Compilador         javac Archivo.java

                          Bytecode
                       Archivo.class

                           Intérprete        java Archivo
Conceptos básicos de Java



 Uno de los principales objetivos de Java es crear
  objetos, piezas de código autónomo, que puedan
  interactuar con otros objetos para resolver un
  problema.
Conceptos básicos de Java


 En Java todo es un objeto.
  – A excepción de los tipos de datos primitivos.
Conceptos básicos de Java


Aspectos importantes:
•Sensible a mayúsculas y minúsculas
   •HolaMundo.java       Holamundo.java
   •variableEdad       variableedad
•NO caracteres NO estándares (á, é, í, ñ, etc.)
•Separador “;”
•Comentarios // y /* */
•Palabras reservadas en minúsculas
•Nombres
   •Clases: primer letra en mayúscula
   •Atributos y métodos: primer letra en minúscula
Conceptos básicos de Java

Aspectos importantes:
•Extensión “.java”
   •HolaMundo.java
   •MinimosCuadrados.java
•Nombre clase idéntico al nombre archivo
•Extensión “.class”
   •HolaMundo.class
   •MinimosCuadrados.class
•javac (+ NombreArchivo.java)
   •javac HolaMundo.java
•Generación bytecode
•Ejecución de programas
   •java HolaMundo
Conceptos básicos de Java

Puntos a tener en cuenta:
•Pensar en “clases”
•Programa = una sola clase o muchas clases
•Una de las clases contiene el método main( ):
    •public static void main( String args[] ) { … }
•El método main inicia la ejecución de todo el programa
•Un método = procedimiento, subrutina, función
•Dentro de una clase se pueden crear o invocar a otras
clases
•Todo objeto esta definido por una clase
•Organizar clases en paquetes
Proceso de
codificación/implementación
Repaso estructuras de
         selección/control y arreglos

Estructuras de selección :
•If
•If-else
•Switch
    •case
Estructuras de control :
•while
•do-while
•for
•Uso de:
    •break
    •continue

Más contenido relacionado

La actualidad más candente

Clase3 Programación Orientada a Objetos
Clase3 Programación Orientada a ObjetosClase3 Programación Orientada a Objetos
Clase3 Programación Orientada a Objetosdesimartinez
 
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
 
10. programacion orientada a objetos en visual basic .net
10.  programacion orientada a objetos en visual basic .net10.  programacion orientada a objetos en visual basic .net
10. programacion orientada a objetos en visual basic .netjohnny herrera
 
ProgramacióN Orientada A Objetos
ProgramacióN Orientada A ObjetosProgramacióN Orientada A Objetos
ProgramacióN Orientada A ObjetosPatricio Abad
 
Programar Macros
Programar MacrosProgramar Macros
Programar Macrosjoajz
 
Jyoc java-cap10 clases complementarias y enumerados
Jyoc java-cap10 clases complementarias y enumeradosJyoc java-cap10 clases complementarias y enumerados
Jyoc java-cap10 clases complementarias y enumeradosJyoc X
 
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)Eric Martinez Aguilar
 
Tema 4 clases_y_objetos
Tema 4 clases_y_objetosTema 4 clases_y_objetos
Tema 4 clases_y_objetosBelenMonse
 
Uml orientada a objetos
Uml orientada a objetosUml orientada a objetos
Uml orientada a objetosielectronicos
 
Conceptos de programacion orientada a objetos
Conceptos de programacion orientada a objetosConceptos de programacion orientada a objetos
Conceptos de programacion orientada a objetosMarisol Henao
 
PROGRAMACION ORIENTADA A OBJETO
PROGRAMACION ORIENTADA A OBJETOPROGRAMACION ORIENTADA A OBJETO
PROGRAMACION ORIENTADA A OBJETOAnabel Jaramillo
 
Programacion orientada-a-objetos
Programacion orientada-a-objetosProgramacion orientada-a-objetos
Programacion orientada-a-objetosDon Augusto
 

La actualidad más candente (17)

Clase3 Programación Orientada a Objetos
Clase3 Programación Orientada a ObjetosClase3 Programación Orientada a Objetos
Clase3 Programación Orientada a Objetos
 
Poo java v fin
Poo java v finPoo java v fin
Poo java v fin
 
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
 
Elementos De Una Clase
Elementos De Una ClaseElementos De Una Clase
Elementos De Una Clase
 
10. programacion orientada a objetos en visual basic .net
10.  programacion orientada a objetos en visual basic .net10.  programacion orientada a objetos en visual basic .net
10. programacion orientada a objetos en visual basic .net
 
ProgramacióN Orientada A Objetos
ProgramacióN Orientada A ObjetosProgramacióN Orientada A Objetos
ProgramacióN Orientada A Objetos
 
Programar Macros
Programar MacrosProgramar Macros
Programar Macros
 
Jyoc java-cap10 clases complementarias y enumerados
Jyoc java-cap10 clases complementarias y enumeradosJyoc java-cap10 clases complementarias y enumerados
Jyoc java-cap10 clases complementarias y enumerados
 
Macros en excel [106 paginas en español]
Macros en excel [106 paginas   en español]Macros en excel [106 paginas   en español]
Macros en excel [106 paginas en español]
 
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)
 
FPJUCE - Capitulo2
FPJUCE - Capitulo2FPJUCE - Capitulo2
FPJUCE - Capitulo2
 
Tema 4 clases_y_objetos
Tema 4 clases_y_objetosTema 4 clases_y_objetos
Tema 4 clases_y_objetos
 
Uml orientada a objetos
Uml orientada a objetosUml orientada a objetos
Uml orientada a objetos
 
Conceptos poo (presentación1)
Conceptos poo (presentación1)Conceptos poo (presentación1)
Conceptos poo (presentación1)
 
Conceptos de programacion orientada a objetos
Conceptos de programacion orientada a objetosConceptos de programacion orientada a objetos
Conceptos de programacion orientada a objetos
 
PROGRAMACION ORIENTADA A OBJETO
PROGRAMACION ORIENTADA A OBJETOPROGRAMACION ORIENTADA A OBJETO
PROGRAMACION ORIENTADA A OBJETO
 
Programacion orientada-a-objetos
Programacion orientada-a-objetosProgramacion orientada-a-objetos
Programacion orientada-a-objetos
 

Destacado

La forma de crear paginas en el MENÙ de mi sitio MEX.TL y la forma de copiar ...
La forma de crear paginas en el MENÙ de mi sitio MEX.TL y la forma de copiar ...La forma de crear paginas en el MENÙ de mi sitio MEX.TL y la forma de copiar ...
La forma de crear paginas en el MENÙ de mi sitio MEX.TL y la forma de copiar ...MASTER ADRIANA VB
 
Presentacion familia
Presentacion familiaPresentacion familia
Presentacion familialinda rincon
 
關講報告
關講報告關講報告
關講報告koraku
 
Diez comportamientos erica parra 10 02
Diez comportamientos erica parra 10 02Diez comportamientos erica parra 10 02
Diez comportamientos erica parra 10 02ericaparra
 
Comentário: 26° Domingo do Tempo Comum - Ano A
Comentário: 26° Domingo do Tempo Comum - Ano AComentário: 26° Domingo do Tempo Comum - Ano A
Comentário: 26° Domingo do Tempo Comum - Ano AJosé Lima
 
.progressive mreport-07/06
.progressive mreport-07/06.progressive mreport-07/06
.progressive mreport-07/06finance18
 
Aparato reproductor femenino y actos sexuales
Aparato reproductor femenino y actos sexualesAparato reproductor femenino y actos sexuales
Aparato reproductor femenino y actos sexualesligorguro
 
ARTVEL de Revista tomoII
ARTVEL de Revista tomoIIARTVEL de Revista tomoII
ARTVEL de Revista tomoIIartvel
 
ESAMC - 3 Sem - Ideia Trabalho Mkt
ESAMC - 3 Sem - Ideia Trabalho MktESAMC - 3 Sem - Ideia Trabalho Mkt
ESAMC - 3 Sem - Ideia Trabalho MktThiago Martins
 
Leituras: 19º Domingo do Tempo Comum - Ano A
Leituras: 19º Domingo do Tempo Comum - Ano ALeituras: 19º Domingo do Tempo Comum - Ano A
Leituras: 19º Domingo do Tempo Comum - Ano AJosé Lima
 
Josemauelunidad3 torresdehanoi
Josemauelunidad3 torresdehanoiJosemauelunidad3 torresdehanoi
Josemauelunidad3 torresdehanoiK Manuel TN
 
El niño con el pijama de rayas reporte de lectura blog
El niño con el pijama de rayas reporte de lectura blogEl niño con el pijama de rayas reporte de lectura blog
El niño con el pijama de rayas reporte de lectura blogcuatas296
 
Social Media in the Indian non profit context
Social Media in the Indian non profit contextSocial Media in the Indian non profit context
Social Media in the Indian non profit contextSanjukta Basu
 
Recaudacion y Transferencias a Provincias durante Julio de 2013
Recaudacion y Transferencias a Provincias durante Julio de 2013Recaudacion y Transferencias a Provincias durante Julio de 2013
Recaudacion y Transferencias a Provincias durante Julio de 2013Eduardo Nelson German
 
Practica6unidad2
Practica6unidad2Practica6unidad2
Practica6unidad2K Manuel TN
 

Destacado (20)

T2 ejercicio d2
T2 ejercicio d2T2 ejercicio d2
T2 ejercicio d2
 
La forma de crear paginas en el MENÙ de mi sitio MEX.TL y la forma de copiar ...
La forma de crear paginas en el MENÙ de mi sitio MEX.TL y la forma de copiar ...La forma de crear paginas en el MENÙ de mi sitio MEX.TL y la forma de copiar ...
La forma de crear paginas en el MENÙ de mi sitio MEX.TL y la forma de copiar ...
 
Presentacion familia
Presentacion familiaPresentacion familia
Presentacion familia
 
關講報告
關講報告關講報告
關講報告
 
Diez comportamientos erica parra 10 02
Diez comportamientos erica parra 10 02Diez comportamientos erica parra 10 02
Diez comportamientos erica parra 10 02
 
Comentário: 26° Domingo do Tempo Comum - Ano A
Comentário: 26° Domingo do Tempo Comum - Ano AComentário: 26° Domingo do Tempo Comum - Ano A
Comentário: 26° Domingo do Tempo Comum - Ano A
 
.progressive mreport-07/06
.progressive mreport-07/06.progressive mreport-07/06
.progressive mreport-07/06
 
Expo long
Expo longExpo long
Expo long
 
Aparato reproductor femenino y actos sexuales
Aparato reproductor femenino y actos sexualesAparato reproductor femenino y actos sexuales
Aparato reproductor femenino y actos sexuales
 
ARTVEL de Revista tomoII
ARTVEL de Revista tomoIIARTVEL de Revista tomoII
ARTVEL de Revista tomoII
 
ESAMC - 3 Sem - Ideia Trabalho Mkt
ESAMC - 3 Sem - Ideia Trabalho MktESAMC - 3 Sem - Ideia Trabalho Mkt
ESAMC - 3 Sem - Ideia Trabalho Mkt
 
Goodreads - Datasalon 6
Goodreads - Datasalon 6Goodreads - Datasalon 6
Goodreads - Datasalon 6
 
Leituras: 19º Domingo do Tempo Comum - Ano A
Leituras: 19º Domingo do Tempo Comum - Ano ALeituras: 19º Domingo do Tempo Comum - Ano A
Leituras: 19º Domingo do Tempo Comum - Ano A
 
Presentación boolean
Presentación booleanPresentación boolean
Presentación boolean
 
Josemauelunidad3 torresdehanoi
Josemauelunidad3 torresdehanoiJosemauelunidad3 torresdehanoi
Josemauelunidad3 torresdehanoi
 
El niño con el pijama de rayas reporte de lectura blog
El niño con el pijama de rayas reporte de lectura blogEl niño con el pijama de rayas reporte de lectura blog
El niño con el pijama de rayas reporte de lectura blog
 
Social Media in the Indian non profit context
Social Media in the Indian non profit contextSocial Media in the Indian non profit context
Social Media in the Indian non profit context
 
Furadan 350 fs
Furadan 350 fsFuradan 350 fs
Furadan 350 fs
 
Recaudacion y Transferencias a Provincias durante Julio de 2013
Recaudacion y Transferencias a Provincias durante Julio de 2013Recaudacion y Transferencias a Provincias durante Julio de 2013
Recaudacion y Transferencias a Provincias durante Julio de 2013
 
Practica6unidad2
Practica6unidad2Practica6unidad2
Practica6unidad2
 

Similar a Elementos básicos de la programación orientada a objetos

Progav tema2
Progav tema2Progav tema2
Progav tema2ESAP
 
Programacion estructurada en objetos
Programacion estructurada en objetosProgramacion estructurada en objetos
Programacion estructurada en objetosAngel Ordoñez
 
programacion orientada a objetos
programacion orientada a objetosprogramacion orientada a objetos
programacion orientada a objetosjent46
 
presentacion-tema-i-unidad-ii.GFGFHFHGppt
presentacion-tema-i-unidad-ii.GFGFHFHGpptpresentacion-tema-i-unidad-ii.GFGFHFHGppt
presentacion-tema-i-unidad-ii.GFGFHFHGpptjorgealfarol
 
Fundamentos del Enfoque OO
Fundamentos del Enfoque OOFundamentos del Enfoque OO
Fundamentos del Enfoque OOsullinsan
 
Programacion orientada a objetos
Programacion orientada a objetosProgramacion orientada a objetos
Programacion orientada a objetosAgapito26
 
Programacion orientada a objetos
Programacion orientada a objetosProgramacion orientada a objetos
Programacion orientada a objetosArevalo1996
 
2983238 programacion-orientada-a-objetos
2983238 programacion-orientada-a-objetos2983238 programacion-orientada-a-objetos
2983238 programacion-orientada-a-objetosjohnny herrera
 
Programacion orientada a objetos
Programacion orientada a objetosProgramacion orientada a objetos
Programacion orientada a objetosAngel Laverde ID
 

Similar a Elementos básicos de la programación orientada a objetos (20)

Presentacion java 1
Presentacion java 1Presentacion java 1
Presentacion java 1
 
Progav tema2
Progav tema2Progav tema2
Progav tema2
 
Programacion estructurada en objetos
Programacion estructurada en objetosProgramacion estructurada en objetos
Programacion estructurada en objetos
 
Programacion orientada a objeto
Programacion orientada a objeto Programacion orientada a objeto
Programacion orientada a objeto
 
programacion orientada a objetos
programacion orientada a objetosprogramacion orientada a objetos
programacion orientada a objetos
 
Mapa de java
Mapa de javaMapa de java
Mapa de java
 
Investigacion
InvestigacionInvestigacion
Investigacion
 
Java
JavaJava
Java
 
presentacion-tema-i-unidad-ii.GFGFHFHGppt
presentacion-tema-i-unidad-ii.GFGFHFHGpptpresentacion-tema-i-unidad-ii.GFGFHFHGppt
presentacion-tema-i-unidad-ii.GFGFHFHGppt
 
Conceptos poo
Conceptos pooConceptos poo
Conceptos poo
 
Fundamentos del Enfoque OO
Fundamentos del Enfoque OOFundamentos del Enfoque OO
Fundamentos del Enfoque OO
 
Excel con macros
Excel con macrosExcel con macros
Excel con macros
 
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
PooPoo
Poo
 
Programacion orientada a objetos
Programacion orientada a objetosProgramacion orientada a objetos
Programacion orientada a objetos
 
2983238 programacion-orientada-a-objetos
2983238 programacion-orientada-a-objetos2983238 programacion-orientada-a-objetos
2983238 programacion-orientada-a-objetos
 
Programacion orientada a objetos
Programacion orientada a objetosProgramacion orientada a objetos
Programacion orientada a objetos
 
Asignacion2
Asignacion2Asignacion2
Asignacion2
 
Diapositiva de poo
Diapositiva de pooDiapositiva de poo
Diapositiva de poo
 

Más de Whaleejaa Wha (20)

Windows 7
Windows 7Windows 7
Windows 7
 
Windows 7 avanzado
Windows 7 avanzadoWindows 7 avanzado
Windows 7 avanzado
 
Virtualizacion con vm ware
Virtualizacion con vm wareVirtualizacion con vm ware
Virtualizacion con vm ware
 
Unity
UnityUnity
Unity
 
Ubuntu
UbuntuUbuntu
Ubuntu
 
Tecnico windows
Tecnico windowsTecnico windows
Tecnico windows
 
Tecnico hardware desde cero
Tecnico hardware desde ceroTecnico hardware desde cero
Tecnico hardware desde cero
 
Soluciones pc desde cero
Soluciones pc desde ceroSoluciones pc desde cero
Soluciones pc desde cero
 
Silverlight
SilverlightSilverlight
Silverlight
 
Servicio tecnico notebooks
Servicio tecnico notebooksServicio tecnico notebooks
Servicio tecnico notebooks
 
Seguridad pc desde cero
Seguridad pc desde ceroSeguridad pc desde cero
Seguridad pc desde cero
 
Seguridad informatica
Seguridad informaticaSeguridad informatica
Seguridad informatica
 
Routers y switches cisco
Routers y switches ciscoRouters y switches cisco
Routers y switches cisco
 
Robotica
RoboticaRobotica
Robotica
 
Redes wireless
Redes wirelessRedes wireless
Redes wireless
 
Redes wifi
Redes wifiRedes wifi
Redes wifi
 
Proteus vsm
Proteus vsmProteus vsm
Proteus vsm
 
Produccion musical
Produccion musicalProduccion musical
Produccion musical
 
Php avanzado
Php avanzadoPhp avanzado
Php avanzado
 
Overclocking
OverclockingOverclocking
Overclocking
 

Elementos básicos de la programación orientada a objetos

  • 1. Elementos básicos de la programación orientada a objetos M.C. Mario Alberto Gómez Rodríguez
  • 2. Paradigma de programación ● Colección de conceptos que guían el proceso de construcción de un programa, determinando su estructura. ● Estos conceptos controlan la forma en que pensamos y formulamos los programas.
  • 3. Paradigma de programación  Un lenguaje de programación refleja un paradigma. PARADIGMA LENGUAJE • Imperativo C, Pascal, Cobol, ... • Funcional Lisp, Hope, Miranda, ... • Lógico Prolog, Parlog, ... • Orientado a Objetos Smalltalk, C++, Eiffel, Java, ...
  • 4. ¿Qué es la Orientación a Objetos?  El software se organiza como una colección de objetos que contienen tanto estructura como comportamiento.  Un sistema OO funciona mediante la colaboración entre los objetos que se comunican entre sí.  Los elementos que forman los sistemas del mundo real se corresponden con objetos software. 4
  • 5. ¿Qué es el desarrollo OO? Una nueva forma de pensar acerca del software basándose en abstracciones que existen en el mundo real. Bombilla color encender() apagar()
  • 6. Orientado a Objetos  La POO difiere de la programación procedural porque ésta enfatiza la secuencia de pasos codificados para resolver un problema, mientras que la POO hace énfasis en la creación e interacción de objetos.
  • 7. Conceptos básicos: Clases  Las clases son abstracciones que representan a un conjunto de objetos con un comportamiento e interfaz común.  Una clase no es más que una plantilla para la creación de objetos.  Plantilla que describe la forma en que están estructurados internamente una familia de objetos. 7
  • 8. Conceptos básicos: Clases Cuando se crea un objeto (instanciación) se ha de especificar de qué clase es el objeto instanciado, para que el compilador comprenda las características del objeto. Los objetos de la misma clase tienen la misma definición de sus operaciones y de su estructura de información
  • 9. Conceptos básicos: Clases Una clases esta formada por: Atributos: variables int, float, double , char, etc. Almacenan el estado actual de un objeto Métodos: public void cambiarColor (String nuevoColor){} Definen el comportamiento de un objeto Modifican los atributos Lavadora marca Punto Atributos modelo x,y: float capacidad: integer Métodos ... trasladar(a,b) Programar distancia(pto) PonerRopa CerrarPuerta Lavar
  • 10. Estructura de una clase en Java  HelloWorld.java public class HelloWorld { private String world; Atibuto public HelloWorld( ) { world = "World!!!"; } Métodos public void imprime( String hello ) { System.out.println( hello + world ); } } 10
  • 11. Conceptos básicos: Objetos Entidad que es capaz de almacenar su estado (información) y que posee un conjunto de operaciones (que definen su comportamiento) que permiten examinar o modificar su estado.  Los objetos son instancias de una clase
  • 12. Objeto  Construcción de un objeto: Definir componentes Ensamble de componentes Objeto final
  • 13. Objeto y sus componentes:
  • 14. Las clases y los objetos están en todas partes Vehículo Burro:Animal Animal Punto Figura (1,3) (5,2.5) (2,2) (2,1) 14
  • 15. Conceptos básicos: Objetos Un objeto consta de : Tiempo de vida Espacio de memoria asignado a través de la instanciación Estado: Mantenido por sus atributos; Define las propiedades del objeto y el estado en que se encuentra en un momento determinado de su existencia. Se pueden manipular los atributos/métodos para modificar su estado: miObjeto.cambiarColor(“Rojo”); ID:Lavadora marca=“Lapava” capacidad=5 estado=centrifugando
  • 16. Ejemplo: Instanciación de una clase NomClase nomReferencia = new NomClase(param); Tarjeta tarjetaDebito = new Tarjeta( );
  • 18. Identificando objetos Los objetos pueden ser físicos o conceptuales:  Una cuenta de cliente es un ejemplo de un objeto conceptual porque no se puede tocar físicamente.  Un cajero automático es algo que mucha gente toca todos los días y es un ejemplo de un objeto físico.
  • 19. Identificando objetos Los objetos tienen atributos (características):  Tal como: tamaño, nombre, color, forma, etc.  Los valores de los atributos son referidos como el estado actual del objeto.  Por ejemplo, un objeto puede tener un atributo color con el valor de rojo.
  • 20. Identificando objetos Los objetos tienen operaciones (las cosas que pueden hacer):  Tal como asignar un valor, desplegar una pantalla o incrementar rapidez.  Las operaciones usualmente afectan los atributos de los objetos.
  • 21. Objeto  Cosas tangibles: Estudiantes, Persona, Vehículo, producto, …  Papeles que representa: Agente, profesor, vendedor, ...  Eventos: Aterrizaje, Suspensión, Ventana, Devolución, ...  Interacción: Préstamo, Matrícula, Registro Público, ...  Organizaciones: Financiera, Sindicato, ...  Conceptos: Proyecto, Materia, ...  Localizaciones: Punto de Venta, Bodega, Oficina, ...  Visibles en la interfaz: Icono, Imagen, Ventana, ...  Dispositivos: Sensor, Lector de Tarjeta, Teclado, Pantalla, ...
  • 22. OBJETO = ESTADO + MÉTODOS ESTADO Métodos  Conjunto de valores  Definen el que pueden tomar comportamiento de los atributos de un un objeto. objeto.  Envían y reciben  Condición actual del mensajes hacia otros objeto. objetos.  Varía dinámicamente (con el tiempo).  No es accesible/ modificable desde afuera.
  • 23. Proceso de creación de objetos Clase Silla Instanciar Objetos Silla clase Silla silla_1 ; a( ) Sill = new a_1 a sill Sill Silla silla_2 = new Silla( ); silla_2 Silla silla _ 3= new Silla ( ); public class Silla { private String color; silla_3 public void asignarColor(String col) { color = col; } }
  • 24. Programas ➢ Una aplicación (un programa) se compone de: ➢ Una serie de clases ➢ De las cuales se crean una serie de instancias (objetos) ➢ Que interactúan entre sí enviándose mensajes (llamando a los métodos de los objetos)
  • 25. Abstracción ➢ Abstraer es suprimir u ocultar algunos detalles de un proceso o de un elemento, para resaltar algunos aspectos, detalles o estructuras.
  • 26. ¿Qué es Java? ➢ Lenguaje de programación orientada a objetos. ➢ La plataforma Java esta constituida por: ➢ Lenguaje de programación Java. ➢ Conjunto de bibliotecas estándar (Java APIs). ➢ Conjunto de herramientas para el desarrollo de programas: ➢ Compilador a código-byte (javac) ➢ Generador de documentación (javadoc). ➢ Ejecución de programa (intérprete del código-byte (java)). ➢ Entorno de ejecución cuyo principal elemento es la máquina virtual para ejecutar el código- byte
  • 27. Entorno de ejecución Java Fuentes Java Herramientas (javac) Bytecode Sistema de ejecución Java API Máquina Virtual Sistema Operativo Hardware
  • 28. Ejecución de un programa en Java ➢ Java es independiente de la plataforma. ➢ Plataforma: conjunto de hardware (computadora con su procesador) y sistema operativo. Editor Programa fuente Archivo.java Compilador javac Archivo.java Bytecode Archivo.class Intérprete java Archivo
  • 29. Conceptos básicos de Java  Uno de los principales objetivos de Java es crear objetos, piezas de código autónomo, que puedan interactuar con otros objetos para resolver un problema.
  • 30. Conceptos básicos de Java  En Java todo es un objeto. – A excepción de los tipos de datos primitivos.
  • 31. Conceptos básicos de Java Aspectos importantes: •Sensible a mayúsculas y minúsculas •HolaMundo.java Holamundo.java •variableEdad variableedad •NO caracteres NO estándares (á, é, í, ñ, etc.) •Separador “;” •Comentarios // y /* */ •Palabras reservadas en minúsculas •Nombres •Clases: primer letra en mayúscula •Atributos y métodos: primer letra en minúscula
  • 32. Conceptos básicos de Java Aspectos importantes: •Extensión “.java” •HolaMundo.java •MinimosCuadrados.java •Nombre clase idéntico al nombre archivo •Extensión “.class” •HolaMundo.class •MinimosCuadrados.class •javac (+ NombreArchivo.java) •javac HolaMundo.java •Generación bytecode •Ejecución de programas •java HolaMundo
  • 33. Conceptos básicos de Java Puntos a tener en cuenta: •Pensar en “clases” •Programa = una sola clase o muchas clases •Una de las clases contiene el método main( ): •public static void main( String args[] ) { … } •El método main inicia la ejecución de todo el programa •Un método = procedimiento, subrutina, función •Dentro de una clase se pueden crear o invocar a otras clases •Todo objeto esta definido por una clase •Organizar clases en paquetes
  • 35. Repaso estructuras de selección/control y arreglos Estructuras de selección : •If •If-else •Switch •case Estructuras de control : •while •do-while •for •Uso de: •break •continue