SlideShare uma empresa Scribd logo
1 de 25
TALLER DE PROGRAMACIÓN DE SISTEMAS
                                           Programación orientada
                                              a objetos en Java




                                       Si alguien se quiere retirar, adelante, pero...
                                     ¿de verdad crees que ya lo sabes todo de clases,
                                                   objetos e instancias?

                                                   Lic. Nancy Michelle Torres Villanueva   1
TALLER DE PROGRAMACIÓN DE SISTEMAS

                                                                        POO
                                     ●   Modelo de programación que basa su esquema
                                         de pensamiento, análisis y diseño en
                                         interacciones entre objetos. Cada objeto tiene
                                         un comportamiento definido y que puede ser
                                         relacionado con otros objetos.
                                         ●   Colaborativos y cooperativos
                                         ●   Reusables
                                         ●   Distribuíbles
                                         ●   Localizables


                                                         Lic. Nancy Michelle Torres Villanueva   2
TALLER DE PROGRAMACIÓN DE SISTEMAS

                                                                Objeto
                                     ●   Un objeto es un ente que tiene estado,
                                         comportamiento e identidad englobados en una
                                         sola unidad.
                                     ●   La estructura de un objeto deriva del concepto
                                         de tipo de dato abstracto.




                                                     Lic. Nancy Michelle Torres Villanueva   3
TALLER DE PROGRAMACIÓN DE SISTEMAS

                                                                  Clase
                                     ●   Una clase es la definición formal de un objeto
                                         en los términos de estructura y comportamiento
                                         común.
                                     ●   Así podemos usar la definición de una clase
                                         para crear objetos de ese tipo de clase, esto
                                         es, crear objetos que contengan todos los
                                         componentes especificados en la clase
                                         (instancias).



                                                     Lic. Nancy Michelle Torres Villanueva   4
TALLER DE PROGRAMACIÓN DE SISTEMAS

                                                  Encapsulamiento
                                     ●   Se llama encapsulamiento a la conjugación
                                         de propiedades y comportamiento de un objeto.
                                     ●   Esto logra también que se oculte la
                                         implementación y variables de ese objeto.




                                                     Lic. Nancy Michelle Torres Villanueva   5
TALLER DE PROGRAMACIÓN DE SISTEMAS

                                             Componentes de una Clase
                                     ●   Una definición formal de una clase se compone de:
                                         ●   Campos. Estos son variables que almacenan datos
                                             referentes al objeto.
                                         ●   Funciones. Estos son las operaciones que se pueden
                                             realizar sobre objetos de esa clase. También son
                                             conocidos como métodos.
                                     ●   Los campos pueden ser tipos de datos primitivos u
                                         objetos. Los métodos se asemejan a la estructura
                                         formal de las funciones. Tanto los campos como los
                                         métodos se les considera miembros.


                                                        Lic. Nancy Michelle Torres Villanueva   6
TALLER DE PROGRAMACIÓN DE SISTEMAS

                                                   Clase en JAVA
                                     ● Una clase en Java se define mediante la
                                       palabra reservada class y enseguida, el
                                       identificador de la clase. Las propiedades y el
                                       comportamiento se definen dentro del cuerpo
                                       de la clase.
                                     class NombreClase {
                                         //Propiedades
                                         ...
                                         //Comportamiento
                                     }
                                                    Lic. Nancy Michelle Torres Villanueva   7
TALLER DE PROGRAMACIÓN DE SISTEMAS

                                                 ... Clase en JAVA
                                     class MiClase {
                                         tipo1 miVariable1;
                                         tipo2 miVariable2;
                                         ...
                                         tipoK miMetodo1(tipoK1 arg1, ...) {
                                         }
                                         tipoL miMetodo1(tipoL1 arg1, ...) {
                                         }
                                     }


                                                   Lic. Nancy Michelle Torres Villanueva   8
TALLER DE PROGRAMACIÓN DE SISTEMAS

                                                             Instancias
                                     ●   Un objeto es también conocido como una
                                         instancia de la clase a la que pertenece.
                                         Entonces al crearse la instancia, el objeto
                                         contendrá los campos definidos en la clase.
                                     ●   Los miembros pueden clasificarse como:
                                         ●   Miembros de instancia, y
                                         ●   Miembros de clase




                                                        Lic. Nancy Michelle Torres Villanueva   9
TALLER DE PROGRAMACIÓN DE SISTEMAS

                                         Miembros de instancia y clase
                                     ●   Miembros de instancia
                                         ●   Cada objeto tendrá su propia copia local de cada
                                             variable definida en clase
                                         ●   Estas variables existen cuando se genera la instancia
                                     ●   Miembros de clase
                                         ●   Son variables que existen en la clase y solo existe una
                                             sola copia para todas las instancias.
                                         ●   El valor es compartido y el mismo para todas las
                                             instancias.
                                         ●   Estas variables existen AÚN que no exista ni una
                                             instancia de esa clase.

                                                         Lic. Nancy Michelle Torres Villanueva   10
TALLER DE PROGRAMACIÓN DE SISTEMAS

                                     ... Miembros de instancia y clase
                                     public class Circulo {
                                        //variable de clase
                                        static double PI = 3.14;
                                        //variables de instancia
                                        double x;
                                        double y;
                                        double radio;
                                     }
                                     ●


                                                Lic. Nancy Michelle Torres Villanueva   11
TALLER DE PROGRAMACIÓN DE SISTEMAS   public class Circulo {
                                         //variable de clase
                                         static double PI = 3.14;
                                         //variables de instancia
                                         double x;
                                         double y;
                                         double radio;


                                         double area() {
                                              return PI*radio*radio;
                                         }


                                         static double pi() {
                                             return PI;
                                         }
                                     }
                                                          Lic. Nancy Michelle Torres Villanueva   12
TALLER DE PROGRAMACIÓN DE SISTEMAS

                                         ... Miembros de instancia y clase
                                     ●   Suponga la clase A con una variable de
                                         instancia y un método de clase:
                                     public class A {
                                          int x;
                                          static int cuadradoX() {
                                          return x*x;
                                          }
                                     }
                                     ●   Esto marca error, ¿Por qué?

                                                     Lic. Nancy Michelle Torres Villanueva   13
TALLER DE PROGRAMACIÓN DE SISTEMAS   public class A {
                                          public int inc(int j) {
                                              ++j;
                                              return j;
                                          }
                                     }
                                     ...
                                     A a;
                                     int j = 10, i;
                                     ...
                                     i = a.inc(j);
                                     ●   ¿Cuánto vale i y j?

                                                     Lic. Nancy Michelle Torres Villanueva   14
TALLER DE PROGRAMACIÓN DE SISTEMAS

                                             Acceso a campos y métodos
                                     ●   Campos y métodos de instancia
                                         ●   A a = new A();
                                         ●   ...
                                         ●   a.i = 5;
                                         ●   a.imprime();
                                     ●   Campos y métodos de clase
                                         ●   A.dato = 6;
                                         ●   A.ejecuta();



                                                     Lic. Nancy Michelle Torres Villanueva   15
TALLER DE PROGRAMACIÓN DE SISTEMAS

                                                         Constructores
                                     ●   Un constructor es un método especial que no
                                         devuelve ningún tipo de dato, que posee el
                                         mismo nombre de la clase y que tiene la
                                         finalidad de:
                                         ●   Crear espacio en memoria para el objeto
                                         ●   Inicializar las variables de instancia




                                                         Lic. Nancy Michelle Torres Villanueva   16
TALLER DE PROGRAMACIÓN DE SISTEMAS

                                                  ... Constructores
                                     class Clock {
                                         int hour;
                                         Clock() {
                                             hour = 12;
                                         }
                                         void setHour(int hour) {
                                             this.hour = hour;
                                         }
                                     }


                                                     Lic. Nancy Michelle Torres Villanueva   17
TALLER DE PROGRAMACIÓN DE SISTEMAS

                                                   ... Constructores
                                     ●   Cuando un objeto es declarado para su uso
                                         posterior, es imperativo construir el objeto
                                         mediante una llamada al constructor.
                                     class A {
                                         A() {
                                         ...
                                         }
                                     }
                                     ...
                                     A a = new A();
                                                     Lic. Nancy Michelle Torres Villanueva   18
TALLER DE PROGRAMACIÓN DE SISTEMAS   class B{
                                       int b;
                                       B() {
                                          b = 12;
                                       }
                                     }
                                     ...
                                     B b = new B();
                                     B c = b;
                                     b.b = 15;
                                     System.out.println(c.b); //¿?

                                                Lic. Nancy Michelle Torres Villanueva   19
TALLER DE PROGRAMACIÓN DE SISTEMAS

                                                     La variable this
                                     ●   Esta variable implícita siempre se refiere a la
                                         instancia actual.
                                     ●   Por medio de esta referencia, se pueden
                                         acceder a los campos y métodos del objeto en
                                         turno.




                                                      Lic. Nancy Michelle Torres Villanueva   20
TALLER DE PROGRAMACIÓN DE SISTEMAS   class Clock {
                                        int hour = 12;
                                        void setHour(int hour) {
                                           hour = hour;
                                        }
                                     }
                                     ...
                                     Clock c;
                                     ...
                                     c.setHour(24);
                                     ●   ¿Cuánto vale c.hour?
                                     ●

                                                    Lic. Nancy Michelle Torres Villanueva   21
TALLER DE PROGRAMACIÓN DE SISTEMAS

                                             ... La variable this
                                     class Clock {
                                       int hour = 12;
                                       void setHour(int hour) {
                                          this.hour = hour;
                                       }
                                     }




                                               Lic. Nancy Michelle Torres Villanueva   22
TALLER DE PROGRAMACIÓN DE SISTEMAS

                                                Sobrecarga de métodos
                                     ●   Hay ocasiones que resulta útil tener un mismo
                                         identificador de método para diferentes método
                                         con diferente funcionalidad. Ejemplo:
                                     class Calculadora {
                                         double suma(double d1, double d2) {
                                             return d1 + d2;
                                         }
                                         int suma(int i1, int i2) {
                                             return i1 + i2;
                                         }
                                     }


                                                         Lic. Nancy Michelle Torres Villanueva   23
TALLER DE PROGRAMACIÓN DE SISTEMAS

                                            ... Sobrecarga de métodos
                                     ●   De la misma forma, es posible definir
                                         sobrecarga para los constructores creando un
                                         repertorio amplio de maneras de construir un
                                         objeto.




                                                    Lic. Nancy Michelle Torres Villanueva   24
TALLER DE PROGRAMACIÓN DE SISTEMAS

                                                                  Tarea
                                     ●   Investigar las diferencias de trabajar con clases
                                         estaticas o con instancias de clases.




                                                     Lic. Nancy Michelle Torres Villanueva   25

Mais conteúdo relacionado

Mais procurados

Programacion orientada a objetos Unidad 1-intro al paradigma poo
Programacion orientada a objetos Unidad 1-intro al paradigma pooProgramacion orientada a objetos Unidad 1-intro al paradigma poo
Programacion orientada a objetos Unidad 1-intro al paradigma pooJosé Antonio Sandoval Acosta
 
Paradigmas de programación
Paradigmas de programaciónParadigmas de programación
Paradigmas de programaciónTensor
 
11 Curso de POO en java - métodos constructores y toString()
11 Curso de POO en java - métodos constructores y toString()11 Curso de POO en java - métodos constructores y toString()
11 Curso de POO en java - métodos constructores y toString()Clara Patricia Avella Ibañez
 
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
 
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
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clasesNedoww Haw
 
investigacion topicos avanzados de programacion unidad dos interfaz grafica
investigacion topicos avanzados de programacion unidad dos interfaz graficainvestigacion topicos avanzados de programacion unidad dos interfaz grafica
investigacion topicos avanzados de programacion unidad dos interfaz graficaAnel Sosa
 
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
 
Caracteristicas de Java
Caracteristicas de JavaCaracteristicas de Java
Caracteristicas de JavaLuzRom
 
8b Curso de POO en java - paso de diagrama clases a java 1
8b Curso de POO en java - paso de diagrama clases a java 18b Curso de POO en java - paso de diagrama clases a java 1
8b Curso de POO en java - paso de diagrama clases a java 1Clara Patricia Avella Ibañez
 
POO Programación Orientada a Objetos
POO Programación Orientada a ObjetosPOO Programación Orientada a Objetos
POO Programación Orientada a ObjetosLuis Berganza
 
Constructores en Java
Constructores en JavaConstructores en Java
Constructores en JavaUCE
 

Mais procurados (20)

Estructuras de datos lineales
Estructuras de datos linealesEstructuras de datos lineales
Estructuras de datos lineales
 
Programacion orientada a objetos Unidad 1-intro al paradigma poo
Programacion orientada a objetos Unidad 1-intro al paradigma pooProgramacion orientada a objetos Unidad 1-intro al paradigma poo
Programacion orientada a objetos Unidad 1-intro al paradigma poo
 
Paradigmas de programación
Paradigmas de programaciónParadigmas de programación
Paradigmas de programación
 
11 Curso de POO en java - métodos constructores y toString()
11 Curso de POO en java - métodos constructores y toString()11 Curso de POO en java - métodos constructores y toString()
11 Curso de POO en java - métodos constructores y toString()
 
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
 
16 Curso de POO en java - arreglos unidimensionales
16 Curso de POO en java - arreglos unidimensionales16 Curso de POO en java - arreglos unidimensionales
16 Curso de POO en java - arreglos unidimensionales
 
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
 
Paradigmas de programación
Paradigmas de programaciónParadigmas de programación
Paradigmas de programación
 
6 Curso de POO en Java - clases y objetos
6  Curso de POO en Java - clases y objetos6  Curso de POO en Java - clases y objetos
6 Curso de POO en Java - clases y objetos
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clases
 
Uml clase 04_uml_clases
Uml clase 04_uml_clasesUml clase 04_uml_clases
Uml clase 04_uml_clases
 
investigacion topicos avanzados de programacion unidad dos interfaz grafica
investigacion topicos avanzados de programacion unidad dos interfaz graficainvestigacion topicos avanzados de programacion unidad dos interfaz grafica
investigacion topicos avanzados de programacion unidad dos interfaz grafica
 
Listas doblemente enlazadas
Listas doblemente enlazadasListas doblemente enlazadas
Listas doblemente enlazadas
 
1. introducción a c#
1.  introducción a c#1.  introducción a c#
1. introducción a c#
 
Herencia - Programación Orientada a Objetos
Herencia - Programación Orientada a ObjetosHerencia - Programación Orientada a Objetos
Herencia - Programación Orientada a Objetos
 
Caracteristicas de Java
Caracteristicas de JavaCaracteristicas de Java
Caracteristicas de Java
 
Programación 3: colas
Programación 3: colasProgramación 3: colas
Programación 3: colas
 
8b Curso de POO en java - paso de diagrama clases a java 1
8b Curso de POO en java - paso de diagrama clases a java 18b Curso de POO en java - paso de diagrama clases a java 1
8b Curso de POO en java - paso de diagrama clases a java 1
 
POO Programación Orientada a Objetos
POO Programación Orientada a ObjetosPOO Programación Orientada a Objetos
POO Programación Orientada a Objetos
 
Constructores en Java
Constructores en JavaConstructores en Java
Constructores en Java
 

Destaque

programacion orientada a objetos
programacion orientada a objetosprogramacion orientada a objetos
programacion orientada a objetosJavier Camacho
 
Recordando Java desde Cero
Recordando Java desde CeroRecordando Java desde Cero
Recordando Java desde CeroMichelle Torres
 
Programación Orientada a Objetos parte 2
Programación Orientada a Objetos  parte 2Programación Orientada a Objetos  parte 2
Programación Orientada a Objetos parte 2Karla Silva
 
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
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetoslindacajaperuiz
 
Programacion orientada a objetos
Programacion orientada a objetosProgramacion orientada a objetos
Programacion orientada a objetosmichaelalta
 
Manejo de archivos en JAVA
Manejo de archivos en JAVAManejo de archivos en JAVA
Manejo de archivos en JAVAMichelle Torres
 
10 Curso de POO en java - métodos modificadores y analizadores
10 Curso de POO en java - métodos modificadores y analizadores10 Curso de POO en java - métodos modificadores y analizadores
10 Curso de POO en java - métodos modificadores y analizadoresClara Patricia Avella Ibañez
 
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 JAVAiessanjuanbosco
 
sistemas de produccion y programacion de la produccion
sistemas de produccion y programacion de la produccionsistemas de produccion y programacion de la produccion
sistemas de produccion y programacion de la produccionguesta75b71
 
programacion orientada a objetos
programacion orientada a objetosprogramacion orientada a objetos
programacion orientada a objetosale8819
 
PROYECTO DE BASE DE DATOS
PROYECTO DE BASE DE DATOSPROYECTO DE BASE DE DATOS
PROYECTO DE BASE DE DATOSjaimeizq
 

Destaque (20)

programacion orientada a objetos
programacion orientada a objetosprogramacion orientada a objetos
programacion orientada a objetos
 
Recordando Java desde Cero
Recordando Java desde CeroRecordando Java desde Cero
Recordando Java desde Cero
 
Programación Orientada a Objetos parte 2
Programación Orientada a Objetos  parte 2Programación Orientada a Objetos  parte 2
Programación Orientada a Objetos parte 2
 
Proyecto access
Proyecto accessProyecto access
Proyecto access
 
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)
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
 
Programación de sistemas
Programación de sistemasProgramación de sistemas
Programación de sistemas
 
Programacion orientada a objetos
Programacion orientada a objetosProgramacion orientada a objetos
Programacion orientada a objetos
 
13 Curso de POO en java - métodos propios de clase
13 Curso de POO en java - métodos propios de clase13 Curso de POO en java - métodos propios de clase
13 Curso de POO en java - métodos propios de clase
 
Manejo de archivos en JAVA
Manejo de archivos en JAVAManejo de archivos en JAVA
Manejo de archivos en JAVA
 
10 Curso de POO en java - métodos modificadores y analizadores
10 Curso de POO en java - métodos modificadores y analizadores10 Curso de POO en java - métodos modificadores y analizadores
10 Curso de POO en java - métodos modificadores y analizadores
 
Calculadora con operaciones básicas en java
Calculadora con operaciones básicas en javaCalculadora con operaciones básicas en java
Calculadora con operaciones básicas en java
 
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
 
Programacion orientada a objetos Java
Programacion orientada a objetos JavaProgramacion orientada a objetos Java
Programacion orientada a objetos Java
 
TRABAJO FINAL DE ACCESS 2010
TRABAJO FINAL DE ACCESS 2010TRABAJO FINAL DE ACCESS 2010
TRABAJO FINAL DE ACCESS 2010
 
sistemas de produccion y programacion de la produccion
sistemas de produccion y programacion de la produccionsistemas de produccion y programacion de la produccion
sistemas de produccion y programacion de la produccion
 
17 arreglos bidimensionales java
17 arreglos bidimensionales java17 arreglos bidimensionales java
17 arreglos bidimensionales java
 
programacion orientada a objetos
programacion orientada a objetosprogramacion orientada a objetos
programacion orientada a objetos
 
UML: CASOS DE USO
UML: CASOS DE USOUML: CASOS DE USO
UML: CASOS DE USO
 
PROYECTO DE BASE DE DATOS
PROYECTO DE BASE DE DATOSPROYECTO DE BASE DE DATOS
PROYECTO DE BASE DE DATOS
 

Semelhante a Programación Orientada a Objetos en JAVA

Semelhante a Programación Orientada a Objetos en JAVA (20)

PROGRAMACIÓN ORIENTADA A OBJETOS
PROGRAMACIÓN ORIENTADA A OBJETOSPROGRAMACIÓN ORIENTADA A OBJETOS
PROGRAMACIÓN ORIENTADA A OBJETOS
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clases
 
Diapositivas poo
Diapositivas pooDiapositivas poo
Diapositivas poo
 
Programacion orientada a objetos
Programacion orientada a objetosProgramacion orientada a objetos
Programacion orientada a objetos
 
Java – Clases y Objetos
Java – Clases y ObjetosJava – Clases y Objetos
Java – Clases y Objetos
 
Conceptos de programación orientada a objetos
Conceptos de programación orientada a objetosConceptos de programación orientada a objetos
Conceptos de programación orientada a objetos
 
Programacion orientada a objetos
Programacion orientada a objetos Programacion orientada a objetos
Programacion orientada a objetos
 
Programación orientada a objetos
Programación orientada a objetos Programación orientada a objetos
Programación orientada a objetos
 
Unidad1 y 2
Unidad1 y 2Unidad1 y 2
Unidad1 y 2
 
Paradigma Orientado a Objetos
Paradigma Orientado a ObjetosParadigma Orientado a Objetos
Paradigma Orientado a Objetos
 
Cap3.0
Cap3.0Cap3.0
Cap3.0
 
java (clases,herencias,encapsulamiento,.. )
java (clases,herencias,encapsulamiento,.. )java (clases,herencias,encapsulamiento,.. )
java (clases,herencias,encapsulamiento,.. )
 
Curso de Java Intermedio
Curso de Java IntermedioCurso de Java Intermedio
Curso de Java Intermedio
 
Cap3.0
Cap3.0Cap3.0
Cap3.0
 
programacion orientada a objetos con PHP .pptx
programacion orientada a objetos con PHP .pptxprogramacion orientada a objetos con PHP .pptx
programacion orientada a objetos con PHP .pptx
 
Características principales en POO por Xavier Navia.pdf
Características principales en POO por Xavier Navia.pdfCaracterísticas principales en POO por Xavier Navia.pdf
Características principales en POO por Xavier Navia.pdf
 
Principios poo
Principios pooPrincipios poo
Principios poo
 
PROGRAMACION ORIENTADA A OBJETOS
PROGRAMACION ORIENTADA A OBJETOSPROGRAMACION ORIENTADA A OBJETOS
PROGRAMACION ORIENTADA A OBJETOS
 
Investigacion
InvestigacionInvestigacion
Investigacion
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
 

Mais de Michelle Torres

Prototipado rápido para web y mobile
Prototipado rápido para web y mobilePrototipado rápido para web y mobile
Prototipado rápido para web y mobileMichelle Torres
 
Uso de Puerto paralelo en C
Uso de Puerto paralelo en CUso de Puerto paralelo en C
Uso de Puerto paralelo en CMichelle Torres
 
Material de administración y auditoría de la función informática
Material de administración y auditoría de la función informáticaMaterial de administración y auditoría de la función informática
Material de administración y auditoría de la función informáticaMichelle Torres
 
Taller de programación de sistemas. Descripción de práctica 2
Taller de programación de sistemas. Descripción de práctica 2Taller de programación de sistemas. Descripción de práctica 2
Taller de programación de sistemas. Descripción de práctica 2Michelle Torres
 
Taller de programación de sistemas. Descripción de práctica 1
Taller de programación de sistemas. Descripción de práctica 1Taller de programación de sistemas. Descripción de práctica 1
Taller de programación de sistemas. Descripción de práctica 1Michelle Torres
 
Modos de direccionamiento para el HC12 de motorola
Modos de direccionamiento para el HC12 de motorolaModos de direccionamiento para el HC12 de motorola
Modos de direccionamiento para el HC12 de motorolaMichelle Torres
 
Rubrica (primera entrega)
Rubrica (primera entrega)Rubrica (primera entrega)
Rubrica (primera entrega)Michelle Torres
 
Introducción a la programación en ambientes web
Introducción a la programación en ambientes webIntroducción a la programación en ambientes web
Introducción a la programación en ambientes webMichelle Torres
 
My sql para principiantes
My sql para principiantesMy sql para principiantes
My sql para principiantesMichelle Torres
 

Mais de Michelle Torres (14)

Prototipado rápido para web y mobile
Prototipado rápido para web y mobilePrototipado rápido para web y mobile
Prototipado rápido para web y mobile
 
Uso de Puerto paralelo en C
Uso de Puerto paralelo en CUso de Puerto paralelo en C
Uso de Puerto paralelo en C
 
Arreglos en PHP
Arreglos en PHPArreglos en PHP
Arreglos en PHP
 
Material de administración y auditoría de la función informática
Material de administración y auditoría de la función informáticaMaterial de administración y auditoría de la función informática
Material de administración y auditoría de la función informática
 
Cpu12 Reference Manual
Cpu12 Reference ManualCpu12 Reference Manual
Cpu12 Reference Manual
 
Taller de programación de sistemas. Descripción de práctica 2
Taller de programación de sistemas. Descripción de práctica 2Taller de programación de sistemas. Descripción de práctica 2
Taller de programación de sistemas. Descripción de práctica 2
 
Taller de programación de sistemas. Descripción de práctica 1
Taller de programación de sistemas. Descripción de práctica 1Taller de programación de sistemas. Descripción de práctica 1
Taller de programación de sistemas. Descripción de práctica 1
 
Modos de direccionamiento para el HC12 de motorola
Modos de direccionamiento para el HC12 de motorolaModos de direccionamiento para el HC12 de motorola
Modos de direccionamiento para el HC12 de motorola
 
Rubrica (primera entrega)
Rubrica (primera entrega)Rubrica (primera entrega)
Rubrica (primera entrega)
 
Cv resumido conaic
Cv resumido conaicCv resumido conaic
Cv resumido conaic
 
Introducción a la programación en ambientes web
Introducción a la programación en ambientes webIntroducción a la programación en ambientes web
Introducción a la programación en ambientes web
 
Servidores web
Servidores webServidores web
Servidores web
 
XHTML y CSS
XHTML y CSSXHTML y CSS
XHTML y CSS
 
My sql para principiantes
My sql para principiantesMy sql para principiantes
My sql para principiantes
 

Último

KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 

Último (16)

KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 

Programación Orientada a Objetos en JAVA

  • 1. TALLER DE PROGRAMACIÓN DE SISTEMAS Programación orientada a objetos en Java Si alguien se quiere retirar, adelante, pero... ¿de verdad crees que ya lo sabes todo de clases, objetos e instancias? Lic. Nancy Michelle Torres Villanueva 1
  • 2. TALLER DE PROGRAMACIÓN DE SISTEMAS POO ● Modelo de programación que basa su esquema de pensamiento, análisis y diseño en interacciones entre objetos. Cada objeto tiene un comportamiento definido y que puede ser relacionado con otros objetos. ● Colaborativos y cooperativos ● Reusables ● Distribuíbles ● Localizables Lic. Nancy Michelle Torres Villanueva 2
  • 3. TALLER DE PROGRAMACIÓN DE SISTEMAS Objeto ● Un objeto es un ente que tiene estado, comportamiento e identidad englobados en una sola unidad. ● La estructura de un objeto deriva del concepto de tipo de dato abstracto. Lic. Nancy Michelle Torres Villanueva 3
  • 4. TALLER DE PROGRAMACIÓN DE SISTEMAS Clase ● Una clase es la definición formal de un objeto en los términos de estructura y comportamiento común. ● Así podemos usar la definición de una clase para crear objetos de ese tipo de clase, esto es, crear objetos que contengan todos los componentes especificados en la clase (instancias). Lic. Nancy Michelle Torres Villanueva 4
  • 5. TALLER DE PROGRAMACIÓN DE SISTEMAS Encapsulamiento ● Se llama encapsulamiento a la conjugación de propiedades y comportamiento de un objeto. ● Esto logra también que se oculte la implementación y variables de ese objeto. Lic. Nancy Michelle Torres Villanueva 5
  • 6. TALLER DE PROGRAMACIÓN DE SISTEMAS Componentes de una Clase ● Una definición formal de una clase se compone de: ● Campos. Estos son variables que almacenan datos referentes al objeto. ● Funciones. Estos son las operaciones que se pueden realizar sobre objetos de esa clase. También son conocidos como métodos. ● Los campos pueden ser tipos de datos primitivos u objetos. Los métodos se asemejan a la estructura formal de las funciones. Tanto los campos como los métodos se les considera miembros. Lic. Nancy Michelle Torres Villanueva 6
  • 7. TALLER DE PROGRAMACIÓN DE SISTEMAS Clase en JAVA ● Una clase en Java se define mediante la palabra reservada class y enseguida, el identificador de la clase. Las propiedades y el comportamiento se definen dentro del cuerpo de la clase. class NombreClase { //Propiedades ... //Comportamiento } Lic. Nancy Michelle Torres Villanueva 7
  • 8. TALLER DE PROGRAMACIÓN DE SISTEMAS ... Clase en JAVA class MiClase { tipo1 miVariable1; tipo2 miVariable2; ... tipoK miMetodo1(tipoK1 arg1, ...) { } tipoL miMetodo1(tipoL1 arg1, ...) { } } Lic. Nancy Michelle Torres Villanueva 8
  • 9. TALLER DE PROGRAMACIÓN DE SISTEMAS Instancias ● Un objeto es también conocido como una instancia de la clase a la que pertenece. Entonces al crearse la instancia, el objeto contendrá los campos definidos en la clase. ● Los miembros pueden clasificarse como: ● Miembros de instancia, y ● Miembros de clase Lic. Nancy Michelle Torres Villanueva 9
  • 10. TALLER DE PROGRAMACIÓN DE SISTEMAS Miembros de instancia y clase ● Miembros de instancia ● Cada objeto tendrá su propia copia local de cada variable definida en clase ● Estas variables existen cuando se genera la instancia ● Miembros de clase ● Son variables que existen en la clase y solo existe una sola copia para todas las instancias. ● El valor es compartido y el mismo para todas las instancias. ● Estas variables existen AÚN que no exista ni una instancia de esa clase. Lic. Nancy Michelle Torres Villanueva 10
  • 11. TALLER DE PROGRAMACIÓN DE SISTEMAS ... Miembros de instancia y clase public class Circulo { //variable de clase static double PI = 3.14; //variables de instancia double x; double y; double radio; } ● Lic. Nancy Michelle Torres Villanueva 11
  • 12. TALLER DE PROGRAMACIÓN DE SISTEMAS public class Circulo { //variable de clase static double PI = 3.14; //variables de instancia double x; double y; double radio; double area() { return PI*radio*radio; } static double pi() { return PI; } } Lic. Nancy Michelle Torres Villanueva 12
  • 13. TALLER DE PROGRAMACIÓN DE SISTEMAS ... Miembros de instancia y clase ● Suponga la clase A con una variable de instancia y un método de clase: public class A { int x; static int cuadradoX() { return x*x; } } ● Esto marca error, ¿Por qué? Lic. Nancy Michelle Torres Villanueva 13
  • 14. TALLER DE PROGRAMACIÓN DE SISTEMAS public class A { public int inc(int j) { ++j; return j; } } ... A a; int j = 10, i; ... i = a.inc(j); ● ¿Cuánto vale i y j? Lic. Nancy Michelle Torres Villanueva 14
  • 15. TALLER DE PROGRAMACIÓN DE SISTEMAS Acceso a campos y métodos ● Campos y métodos de instancia ● A a = new A(); ● ... ● a.i = 5; ● a.imprime(); ● Campos y métodos de clase ● A.dato = 6; ● A.ejecuta(); Lic. Nancy Michelle Torres Villanueva 15
  • 16. TALLER DE PROGRAMACIÓN DE SISTEMAS Constructores ● Un constructor es un método especial que no devuelve ningún tipo de dato, que posee el mismo nombre de la clase y que tiene la finalidad de: ● Crear espacio en memoria para el objeto ● Inicializar las variables de instancia Lic. Nancy Michelle Torres Villanueva 16
  • 17. TALLER DE PROGRAMACIÓN DE SISTEMAS ... Constructores class Clock { int hour; Clock() { hour = 12; } void setHour(int hour) { this.hour = hour; } } Lic. Nancy Michelle Torres Villanueva 17
  • 18. TALLER DE PROGRAMACIÓN DE SISTEMAS ... Constructores ● Cuando un objeto es declarado para su uso posterior, es imperativo construir el objeto mediante una llamada al constructor. class A { A() { ... } } ... A a = new A(); Lic. Nancy Michelle Torres Villanueva 18
  • 19. TALLER DE PROGRAMACIÓN DE SISTEMAS class B{ int b; B() { b = 12; } } ... B b = new B(); B c = b; b.b = 15; System.out.println(c.b); //¿? Lic. Nancy Michelle Torres Villanueva 19
  • 20. TALLER DE PROGRAMACIÓN DE SISTEMAS La variable this ● Esta variable implícita siempre se refiere a la instancia actual. ● Por medio de esta referencia, se pueden acceder a los campos y métodos del objeto en turno. Lic. Nancy Michelle Torres Villanueva 20
  • 21. TALLER DE PROGRAMACIÓN DE SISTEMAS class Clock { int hour = 12; void setHour(int hour) { hour = hour; } } ... Clock c; ... c.setHour(24); ● ¿Cuánto vale c.hour? ● Lic. Nancy Michelle Torres Villanueva 21
  • 22. TALLER DE PROGRAMACIÓN DE SISTEMAS ... La variable this class Clock { int hour = 12; void setHour(int hour) { this.hour = hour; } } Lic. Nancy Michelle Torres Villanueva 22
  • 23. TALLER DE PROGRAMACIÓN DE SISTEMAS Sobrecarga de métodos ● Hay ocasiones que resulta útil tener un mismo identificador de método para diferentes método con diferente funcionalidad. Ejemplo: class Calculadora { double suma(double d1, double d2) { return d1 + d2; } int suma(int i1, int i2) { return i1 + i2; } } Lic. Nancy Michelle Torres Villanueva 23
  • 24. TALLER DE PROGRAMACIÓN DE SISTEMAS ... Sobrecarga de métodos ● De la misma forma, es posible definir sobrecarga para los constructores creando un repertorio amplio de maneras de construir un objeto. Lic. Nancy Michelle Torres Villanueva 24
  • 25. TALLER DE PROGRAMACIÓN DE SISTEMAS Tarea ● Investigar las diferencias de trabajar con clases estaticas o con instancias de clases. Lic. Nancy Michelle Torres Villanueva 25