SlideShare ist ein Scribd-Unternehmen logo
1 von 24
Downloaden Sie, um offline zu lesen
TIPOS DE DATOS
Clases y objetos
Por:
Daniel Gómez Jaramillo.
Estructura de Archivos
CONTENIDO
1. Abstracción de los lenguajes de
programación.
2. Tipos abstractos de datos.
3. Especificación de los TAD.
4. Clases y objetos.
5. Declaración de una clase.
6. Paquetes.
7. Constructores.
8. Recolección de objetos
9. Objeto que envía el mensaje: this.
10. Miembros static de una clase.
11. Clase object.
12. Referencias bibliográficas.
13. Aplicación en Java.
ABSTRACCIÓN DE LOS LENGUAJES DE PROGRAMACIÓN
Los lenguajes de programación son las herramientas mediante las cuales los diseñadores de
lenguajes pueden implementar los modelos abstractos.
ABSTRACCIÓN: Permite distinguir las
características de los objetos: Atributos y
Métodos.
INVESTIGAR ()
REDACTAR ()
LEER ()
NOMBRE
DIRECCION
INDENTIFICACION
ABSTRACCIÓN: Ignorar
detalles específicos buscando
generalidades que ofrezcan
una perspectiva distinta, mas
favorable a su resolución.
ABSTRACCIÓN DE LOS LENGUAJES DE PROGRAMACIÓN
ABSTRACCIONES DE CONTROL
NIVEL DE SENTENCIA NIVEL POR PROCEDIMIENTO
En Java, la abstracción procedimental se
establece con los métodos o funciones
miembros de clases.
La abstracción a nivel de sentencia se
establece con sentencias condicionales y
sentencias repetitivas.
La evolución de los lenguajes de
programación ha permitido la aparición de
otros mecanismos para la abstracción de
control, como manejo de excepciones,
unidades concurrentes o plantillas.
OTROS MECANISMOS DE CONTROL
ABSTRACCIÓN DE LOS LENGUAJES DE PROGRAMACIÓN
ABSTRACCIONES DE DATOS
La abstracción de datos es la técnica de programación que permite inventar o definir nuevos tipos de datos
(tipos de datos definidos por el usuario) adecuados a la aplicación que se desea realizar.
Objetivo: simplificar el proceso de la programación. Lo hace
permitiendo al programador concentrarse sólo en los atributos
que son esenciales y le permite ignorar los que son
prescindibles.
Consideraciones esenciales:
Los datos que se involucran en el problema.
Las operaciones que se aplican sobre los datos
Los tipos de datos son abstracciones y el proceso de construir
nuevos tipos se llama abstracción de datos
TIPO ABSTRACTO DE DATO
Un tipo de datos definido por el programador se denomina tipo abstracto de datos (TAD) para
distinguirlo de los tipos predefinidos de datos. Los tipos abstractos de datos están formados por
los datos (estructuras de datos) y las operaciones (procedimientos o funciones) que se realizan
sobre esos datos.
Las principales ventajas que nos aportan los TAD son las siguientes:
Mejoran la conceptualización y hacen más claro y comprensible el código.
Hacen que el sistema sea más robusto.
Reducen el tiempo de compilación.
Permiten modificar la implementación sin que afecte al interfaz público.
Facilitan la extensibilidad.
TIPO ABSTRACTO DE DATO
struct TAD
{
char Nombre[30];
char correo[35];
int edad;
};
class TAD
{
public:
string Nombre;
string correo;
int edad;
};
IMPLEMENTACION DE LOS TAD
C/C++ C++
CLASES Y OBJETOS
CLASE: es la abstracción de las propiedades y operaciones o acciones que ejecutan los objetos
del mundo real.
OBJETO: son las instancias de una clase.
Nombre de
la clase
Características
de la clase
VEHICULO
Marca
Referencia
Modelo
Placa
Color
Valor
Clase Objetos de la clase
Marca: Chevrolet
Referencia: Aveo
Modelo: 2010
Placa: AAB112
Color: Naranja
Valor: $20,000,000
Marca: Ford
Referencia: Fiesta
Modelo: 2017
Placa: DGM779
Color: Verde
Valor: $35,999,000
Objeto 1 Objeto 2
Cada objeto tiene valores propios para cada una de
las características de la Clase.
Los objetos que existen en el mundo real
pueden ser conceptuales o físicos.
DECLARACIÓN DE UNA CLASE
Una clase se representa en un modelo, como se observa a continuación:
Nombre Clase
Características
(Atributos)
Comportamiento
(Métodos)
Nombre Clase
Características
(Atributos)
Comportamiento
(Métodos)
Cabecera
Cuerpo
de la Clase
CLASE
class NombreClase
{
}
Declaración de Atributos
Definición de Métodos
DECLARACIÓN DE UNA CLASE
Visibilidad de los métodos de una clase
Un principio fundamental en programación orientada a objetos es la ocultación de la información,
que significa que a determinados datos del interior de una clase no se puede acceder por métodos
externos a ella.
No accesibles desde
el exterior de la clase
(acceso denegado)
Privado
Accesible desde el
exterior de la clase
Publico
Datos o Métodos
Datos o Métodos
Las subclases si
pueden tener
acceso.
Protegido
Datos o Métodos
DECLARACIÓN DE UNA CLASE
Visibilidad de los métodos de una clase
Un principio fundamental en programación orientada a objetos es la ocultación de la información,
que significa que a determinados datos del interior de una clase no se puede acceder por métodos
externos a ella.
Tipo de
miembro
Miembro de la
misma clase
Miembro de una
clase derivada
Miembro de clase
del paquete
Miembro de clase
de otro paquete
Private X
En blanco X X
Protected X X X
Public X X X X
Visibilidad, “X” indica que el acceso está permitido.
DECLARACIÓN DE UNA CLASE
Métodos de una clase:
• Definen el comportamiento de una clase.
• Es la agrupación de un conjunto de instrucciones que resuelven una tarea en particular.
• Una invocación (llamada) activa ese comportamiento sobre un determinado objeto.
class Producto
{
private int ID;
private string Nombre;
Public void setID(int ID);
Public void setNombre(String Nombre);
Public int getID();
Public String getNombre();
}
PAQUETES
Sentencia Package. Los paquetes son la forma que tiene Java de organizar los archivos con las
clases necesarias para construir las aplicaciones. Java incorpora varios paquetes, por ejemplo
java.util o java.io, con las clases básicas para construir programas.
Formato:
package NombrePaquete;
Las clases que se encuentran en los paquetes se identifican
utilizando el nombre del paquete, el selector punto (.) y, a
continuación, el nombre de la clase.
Import
Formato:
import IdentificacionPaquete.NombreClase;
import IdentificacionPaquete.*;
Aunque aparezca la sentencia import paquete.*, el compilador genera
bytecode sólo para las clases utilizadas
CONSTRUCTORES
Un constructor es un método que se ejecuta automáticamente cuando se crea un objeto de una
clase. Sirve para inicializar los miembros de la clase.
El constructor tiene el mismo nombre que la clase. Cuando se define no se puede especificar un
valor de retorno, nunca devuelve un valor. Sin embargo, puede tomar cualquier número de
argumentos.
class Persona
{
string nombre;
int edad;
public Persona(string nom, int ed) {
nombre = nom;
edad = ed;
}
}
CONSTRUCTORES
Reglas
Para crear un constructor:
1. El constructor tiene el mismo nombre que la clase.
2. Puede tener cero o mas argumentos.
3. No tiene tipo de retorno.
Constructor por defecto:
Java crea automáticamente un constructor por defecto cuando no existen otros
constructores.
Constructores sobrecargados :
Para prevenir a los usuarios de la clase de crear un objeto sin parámetros, se puede: (1)
omitir el constructor por defecto, o bien (2) hacer el constructor privado.
RECOLECCIÓN DE OBJETOS
Instancias de una clase:
En Java, un objeto siempre ha de estar referenciado por una variable; en el momento en que un
objeto deja de estar referenciado, se activa la rutina de recolección de memoria, se puede decir
que el objeto es liberado y la memoria que ocupa puede ser reutilizada.
Ejemplo:
Persona Eduardo = new Persona(“Eduardo”, 22);
Destrucción de un objeto:
La siguiente sentencia provoca que el objeto Eduardo sea liberado automáticamente:
Eduardo = null;
RECOLECCIÓN DE OBJETOS
Metodo finalize()
El método finalize() es especial, se llama automáticamente si ha sido definido en la clase,
justo antes que la memoria del objeto recolectado vaya a ser devuelta al sistema. El método no
es un destructor del objeto, no libera memoria; en algunas aplicaciones, se puede utilizar para
liberar ciertos recursos del sistema.
Ejemplo:
protected void finalize()
{
System.out.println("Fin de objeto…");
NroPersonas--;
}
OBJETO QUE ENVÍA EL MENSAJE: this
El uso más frecuente del this en Java tiene lugar cuando existe sobrecarga de nombres. La
sobrecarga de nombres se da cuando tenemos una variable local de un método o constructor, o
un parámetro formal de un método o constructor, con un nombre idéntico al de un campo de la
clase. Fundamentalmente, this tiene dos usos:
1. Seleccionar explícitamente un miembro de una clase con el fin de dar mas claridad o de
evitar colisión de identificadores.
class Triangulo
{
private double base;
private double altura;
public void datosTriangulo(double base, double altura) {
this.base = base;
this.altura = altura;
}
}
Fundamentalmente, this tiene dos usos:
OBJETO QUE ENVÍA EL MENSAJE: this
El uso más frecuente del this en Java tiene lugar cuando existe sobrecarga de nombres. La
sobrecarga de nombres se da cuando tenemos una variable local de un método o constructor, o
un parámetro formal de un método o constructor, con un nombre idéntico al de un campo de la
clase. Fundamentalmente, this tiene dos usos:
2. Que un método devuelva el mismo objeto que lo llamó. De esa manera, se pueden hacer
llamadas en cascada a métodos de la misma clase.
class Triangulo
{
private double base;
private double altura;
public Triangulo datosTriangulo(double base, double altura) {
this.base = base;
this.altura = altura;
return this;
}
}
Fundamentalmente, this tiene dos usos:
MIEMBROS static DE UNA CLASE
Cada instancia de una clase, cada objeto, tiene su propia copia de las variables de la clase.
Cuando interese que haya miembros que no estén ligados a los objetos sino a la clase y, por
tanto, sean comunes a todos los objetos, estos se declaran static.
Variables static: Las variables de clase static son compartidas por todos los objetos de la clase.
Se declaran de igual manera que otra variable, añadiendo como prefijo la palabra reservada
static.
Métodos static: Los métodos de las clases se llaman a través de los objetos. En ocasiones
interesa definir métodos que estén controlados por la clase, de modo que no haga falta crear un
objeto para llamarlos: son los métodos static.
private static double base;
private static double altura;
public static Triangulo datosTriangulo(double base, double altura) {}
CLASE object
Object es la superclase base de todas las clases de Java; toda clase definida en Java hereda de la
clase Object y, en consecuencia, toda variable referencia a una clase se convierte,
automáticamente, al tipo Object.
Ejemplo:
Object g;
String cd = new String("Barranco la Parra");
Integer y = new Integer(72); // objeto inicializado a 72
g = cd; // g referencia al mismo objeto que cd
g = y; // g ahora referencia a un objeto Integer
La clase Object tiene dos métodos importantes: equals() y toString(). Generalmente, se
redefinen en las clases para especializarlos.
equals(): Compara el objeto que hace la llamada con el objeto que se pasa como argumento.
toString(): Este método construye una cadena, que es la representación del objeto.
REFERENCIAS BIBLIOGRÁFICAS
• Paredes, D. (2007). Tipos Abstractos de Datos (TAD). Obtenido de
David Paredes: http://www.davidparedes.es/2009/01/02/tipos-
abstractos-de-datos-tad/
• Joyanes, L., & Zahonero, I. (2008). Estructuras de datos. Mc Graw
Hill.
• Augusto, P. (2013). Java a fondo, 2da edición. Alfaomega.
• Deitel, H., & Deitel, P. (2004). Como programar en C/C++ y Java, cuarta edición.
Juarez: Pearson.
• Avella, C. (2013). Curso de POO en Java - clases y objetos. Obtenido de Slideshare:
http://es.slideshare.net/cpavella/6-clases-objetos
• Flores, C. (2015). Objetos y Clases. Obtenido de SlidePlayer:
http://slideplayer.es/slide/3957888/
APLICACIÓN EN JAVA
Se desea realizar una clase Vector3d que permita manipular vectores de tres componentes
(coordenadas x, y, z) de acuerdo con las siguientes normas:
• Posee un método constructor.
• Tiene un método miembro equals() que permite saber si dos vectores tienen sus componentes
o coordenadas iguales.
• Posee un método normamax() que permita obtener la norma de dos vectores (Nota: La norma de
un vector v = x, y, z es ( 𝑥2 + 𝑦2 + 𝑧2 ).
¡¡ GRACIAS !!
Programación III: Estructura de Archivos

Weitere ähnliche Inhalte

Was ist angesagt?

Unidad 3 Modelamiento De Datos Conceptual
Unidad 3 Modelamiento De Datos ConceptualUnidad 3 Modelamiento De Datos Conceptual
Unidad 3 Modelamiento De Datos ConceptualSergio Sanchez
 
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)Josue Lara Reyes
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clasesNedoww Haw
 
Crear base de datos mysql command
Crear base de datos mysql commandCrear base de datos mysql command
Crear base de datos mysql commandLouis Jhosimar
 
Implementacion de bases de datos en mysql
Implementacion de bases de datos en mysqlImplementacion de bases de datos en mysql
Implementacion de bases de datos en mysqlPipe Muñoz
 
POO Unidad 4: Persistencia de objetos y manejo de archivos
POO Unidad 4: Persistencia de objetos y manejo de archivosPOO Unidad 4: Persistencia de objetos y manejo de archivos
POO Unidad 4: Persistencia de objetos y manejo de archivosFranklin Parrales Bravo
 
Normalizacion de base de datos
Normalizacion de base de datosNormalizacion de base de datos
Normalizacion de base de datosSergio Sanchez
 
Diagramas de objetos
Diagramas de objetosDiagramas de objetos
Diagramas de objetosstill01
 
Conexión desde una aplicación en java a un bd en mysql
Conexión desde una aplicación en java a un bd en mysqlConexión desde una aplicación en java a un bd en mysql
Conexión desde una aplicación en java a un bd en mysqlROQUE Caldas Dominguez
 
Programación Orientada a Objetos - Resumen
Programación Orientada a Objetos - ResumenProgramación Orientada a Objetos - Resumen
Programación Orientada a Objetos - ResumenKarlytoz_36
 
Diagramas UML
Diagramas UMLDiagramas UML
Diagramas UML1da4
 
Clase 3 Modelo Entidad Relacion
Clase 3   Modelo Entidad   RelacionClase 3   Modelo Entidad   Relacion
Clase 3 Modelo Entidad Relacionoswchavez
 
1. introduccion a la programación orientada a objeto (poo)
1.  introduccion a la programación orientada a objeto (poo)1.  introduccion a la programación orientada a objeto (poo)
1. introduccion a la programación orientada a objeto (poo)Roberto Rojas
 

Was ist angesagt? (20)

Unidad 3 Modelamiento De Datos Conceptual
Unidad 3 Modelamiento De Datos ConceptualUnidad 3 Modelamiento De Datos Conceptual
Unidad 3 Modelamiento De Datos Conceptual
 
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)
 
Estándares para el Modelado de Procesos de Negocios
Estándares para el Modelado de Procesos de NegociosEstándares para el Modelado de Procesos de Negocios
Estándares para el Modelado de Procesos de Negocios
 
Ejemplo de Trigger en Mysql
Ejemplo de Trigger en MysqlEjemplo de Trigger en Mysql
Ejemplo de Trigger en Mysql
 
Procedimientos almacenados
Procedimientos almacenadosProcedimientos almacenados
Procedimientos almacenados
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clases
 
Crear base de datos mysql command
Crear base de datos mysql commandCrear base de datos mysql command
Crear base de datos mysql command
 
Implementacion de bases de datos en mysql
Implementacion de bases de datos en mysqlImplementacion de bases de datos en mysql
Implementacion de bases de datos en mysql
 
Paradigmas de programación
Paradigmas de programaciónParadigmas de programación
Paradigmas de programación
 
Programacion Orientada a Objetos
Programacion Orientada a ObjetosProgramacion Orientada a Objetos
Programacion Orientada a Objetos
 
POO Unidad 4: Persistencia de objetos y manejo de archivos
POO Unidad 4: Persistencia de objetos y manejo de archivosPOO Unidad 4: Persistencia de objetos y manejo de archivos
POO Unidad 4: Persistencia de objetos y manejo de archivos
 
Normalizacion de base de datos
Normalizacion de base de datosNormalizacion de base de datos
Normalizacion de base de datos
 
Diagramas de objetos
Diagramas de objetosDiagramas de objetos
Diagramas de objetos
 
Conexión desde una aplicación en java a un bd en mysql
Conexión desde una aplicación en java a un bd en mysqlConexión desde una aplicación en java a un bd en mysql
Conexión desde una aplicación en java a un bd en mysql
 
Programación Orientada a Objetos - Resumen
Programación Orientada a Objetos - ResumenProgramación Orientada a Objetos - Resumen
Programación Orientada a Objetos - Resumen
 
Cuadro comparativo sgbd
Cuadro comparativo sgbdCuadro comparativo sgbd
Cuadro comparativo sgbd
 
Diagramas UML
Diagramas UMLDiagramas UML
Diagramas UML
 
Ensayo de php
Ensayo de phpEnsayo de php
Ensayo de php
 
Clase 3 Modelo Entidad Relacion
Clase 3   Modelo Entidad   RelacionClase 3   Modelo Entidad   Relacion
Clase 3 Modelo Entidad Relacion
 
1. introduccion a la programación orientada a objeto (poo)
1.  introduccion a la programación orientada a objeto (poo)1.  introduccion a la programación orientada a objeto (poo)
1. introduccion a la programación orientada a objeto (poo)
 

Ähnlich wie Programación 3: Clases y objetos en Java

programacion orientada a objetos
programacion orientada a objetosprogramacion orientada a objetos
programacion orientada a objetosjent46
 
secme-23192.pdf
secme-23192.pdfsecme-23192.pdf
secme-23192.pdf202100941c
 
Unidad 2 poo_clases_y_objetos
Unidad 2 poo_clases_y_objetosUnidad 2 poo_clases_y_objetos
Unidad 2 poo_clases_y_objetosRulox Quiñones
 
Propiedades De La Poo
Propiedades De La PooPropiedades De La Poo
Propiedades De La Pooda4
 
Cesar adrian barrios alarcon unidad 2
Cesar adrian barrios alarcon      unidad 2       Cesar adrian barrios alarcon      unidad 2
Cesar adrian barrios alarcon unidad 2 Cesar Mcfly
 
Lenguaje de programacion unidad 2 clases y objetos
Lenguaje de programacion unidad 2 clases y objetosLenguaje de programacion unidad 2 clases y objetos
Lenguaje de programacion unidad 2 clases y objetosAndres Herrera Rodriguez
 
Programación orientada a objetos con c++
Programación orientada a objetos con c++Programación orientada a objetos con c++
Programación orientada a objetos con c++Karime Hernández
 
Programación Orientada a Objetos en Java - Parte I 2015
Programación Orientada a Objetos en Java - Parte I 2015Programación Orientada a Objetos en Java - Parte I 2015
Programación Orientada a Objetos en Java - Parte I 2015Renny Batista
 
Trabajo teorico de java
Trabajo teorico de javaTrabajo teorico de java
Trabajo teorico de javaUNEFA
 
[ES] Programación orientada a objeto con java
[ES] Programación orientada a objeto con java[ES] Programación orientada a objeto con java
[ES] Programación orientada a objeto con javaEudris Cabrera
 
Apunte paradigma orientado a objetos
Apunte paradigma orientado a objetosApunte paradigma orientado a objetos
Apunte paradigma orientado a objetosAlejandro Canosa
 
Proyecto en android completado
Proyecto en android completadoProyecto en android completado
Proyecto en android completadoKai Exo
 
Programacion orientada-a-objetos
Programacion orientada-a-objetosProgramacion orientada-a-objetos
Programacion orientada-a-objetosDon Augusto
 

Ähnlich wie Programación 3: Clases y objetos en Java (20)

Benita ppp unidad 1
Benita ppp unidad 1Benita ppp unidad 1
Benita ppp unidad 1
 
programacion orientada a objetos
programacion orientada a objetosprogramacion orientada a objetos
programacion orientada a objetos
 
FPJUCE - Capitulo2
FPJUCE - Capitulo2FPJUCE - Capitulo2
FPJUCE - Capitulo2
 
secme-23192.pdf
secme-23192.pdfsecme-23192.pdf
secme-23192.pdf
 
7-Unidad 2. Elementos de una Clase
7-Unidad 2. Elementos de una Clase7-Unidad 2. Elementos de una Clase
7-Unidad 2. Elementos de una Clase
 
Unidad 2 poo_clases_y_objetos
Unidad 2 poo_clases_y_objetosUnidad 2 poo_clases_y_objetos
Unidad 2 poo_clases_y_objetos
 
Clases
ClasesClases
Clases
 
Propiedades De La Poo
Propiedades De La PooPropiedades De La Poo
Propiedades De La Poo
 
Cesar adrian barrios alarcon unidad 2
Cesar adrian barrios alarcon      unidad 2       Cesar adrian barrios alarcon      unidad 2
Cesar adrian barrios alarcon unidad 2
 
Lenguaje de programacion unidad 2 clases y objetos
Lenguaje de programacion unidad 2 clases y objetosLenguaje de programacion unidad 2 clases y objetos
Lenguaje de programacion unidad 2 clases y objetos
 
Programación orientada a objetos con c++
Programación orientada a objetos con c++Programación orientada a objetos con c++
Programación orientada a objetos con c++
 
Encapsulamiento
EncapsulamientoEncapsulamiento
Encapsulamiento
 
Programación Orientada a Objetos en Java - Parte I 2015
Programación Orientada a Objetos en Java - Parte I 2015Programación Orientada a Objetos en Java - Parte I 2015
Programación Orientada a Objetos en Java - Parte I 2015
 
Trabajo teorico de java
Trabajo teorico de javaTrabajo teorico de java
Trabajo teorico de java
 
[ES] Programación orientada a objeto con java
[ES] Programación orientada a objeto con java[ES] Programación orientada a objeto con java
[ES] Programación orientada a objeto con java
 
Apunte paradigma orientado a objetos
Apunte paradigma orientado a objetosApunte paradigma orientado a objetos
Apunte paradigma orientado a objetos
 
JAVA OO - TEMA 01 - CLASES Y OBJETOS
JAVA OO - TEMA 01 - CLASES Y OBJETOSJAVA OO - TEMA 01 - CLASES Y OBJETOS
JAVA OO - TEMA 01 - CLASES Y OBJETOS
 
Proyecto en android completado
Proyecto en android completadoProyecto en android completado
Proyecto en android completado
 
Programacion
ProgramacionProgramacion
Programacion
 
Programacion orientada-a-objetos
Programacion orientada-a-objetosProgramacion orientada-a-objetos
Programacion orientada-a-objetos
 

Mehr von Angel Vázquez Patiño

Valores extremos y comportamiento de las funciones y de sus gráficas
Valores extremos y comportamiento de las funciones y de sus gráficasValores extremos y comportamiento de las funciones y de sus gráficas
Valores extremos y comportamiento de las funciones y de sus gráficasAngel Vázquez Patiño
 
Causality and climate networks approaches for evaluating climate models, trac...
Causality and climate networks approaches for evaluating climate models, trac...Causality and climate networks approaches for evaluating climate models, trac...
Causality and climate networks approaches for evaluating climate models, trac...Angel Vázquez Patiño
 
Diferencias finitas y Ecuación de calor
Diferencias finitas y Ecuación de calorDiferencias finitas y Ecuación de calor
Diferencias finitas y Ecuación de calorAngel Vázquez Patiño
 
Puntos ordinarios y singularidades de una EDO lineal
Puntos ordinarios y singularidades de una EDO linealPuntos ordinarios y singularidades de una EDO lineal
Puntos ordinarios y singularidades de una EDO linealAngel Vázquez Patiño
 
Métodos de resolución de EDOs mediante series
Métodos de resolución de EDOs mediante seriesMétodos de resolución de EDOs mediante series
Métodos de resolución de EDOs mediante seriesAngel Vázquez Patiño
 
Solución en series de EDOs no lineales de orden mayor a uno y de un sistema d...
Solución en series de EDOs no lineales de orden mayor a uno y de un sistema d...Solución en series de EDOs no lineales de orden mayor a uno y de un sistema d...
Solución en series de EDOs no lineales de orden mayor a uno y de un sistema d...Angel Vázquez Patiño
 
Problemas que originan sistemas de ecuaciones
Problemas que originan sistemas de ecuacionesProblemas que originan sistemas de ecuaciones
Problemas que originan sistemas de ecuacionesAngel Vázquez Patiño
 
Linealización de sistemas de primer orden
Linealización de sistemas de primer ordenLinealización de sistemas de primer orden
Linealización de sistemas de primer ordenAngel Vázquez Patiño
 
Fundamentos de Computación y Programación
Fundamentos de Computación y ProgramaciónFundamentos de Computación y Programación
Fundamentos de Computación y ProgramaciónAngel Vázquez Patiño
 
Causality Strength Signatures for Measuring GCMs Performance: The South Ameri...
Causality Strength Signatures for Measuring GCMs Performance: The South Ameri...Causality Strength Signatures for Measuring GCMs Performance: The South Ameri...
Causality Strength Signatures for Measuring GCMs Performance: The South Ameri...Angel Vázquez Patiño
 

Mehr von Angel Vázquez Patiño (20)

Funciones, límites y continuidad
Funciones, límites y continuidadFunciones, límites y continuidad
Funciones, límites y continuidad
 
Integral definida e integración
Integral definida e integraciónIntegral definida e integración
Integral definida e integración
 
Valores extremos y comportamiento de las funciones y de sus gráficas
Valores extremos y comportamiento de las funciones y de sus gráficasValores extremos y comportamiento de las funciones y de sus gráficas
Valores extremos y comportamiento de las funciones y de sus gráficas
 
Derivada y diferenciación
Derivada y diferenciaciónDerivada y diferenciación
Derivada y diferenciación
 
Causality and climate networks approaches for evaluating climate models, trac...
Causality and climate networks approaches for evaluating climate models, trac...Causality and climate networks approaches for evaluating climate models, trac...
Causality and climate networks approaches for evaluating climate models, trac...
 
Diferencias finitas y Ecuación de calor
Diferencias finitas y Ecuación de calorDiferencias finitas y Ecuación de calor
Diferencias finitas y Ecuación de calor
 
Puntos ordinarios y singularidades de una EDO lineal
Puntos ordinarios y singularidades de una EDO linealPuntos ordinarios y singularidades de una EDO lineal
Puntos ordinarios y singularidades de una EDO lineal
 
La ecuación diferencial de Legendre
La ecuación diferencial de LegendreLa ecuación diferencial de Legendre
La ecuación diferencial de Legendre
 
Solución en series de y' = f(x,y)
Solución en series de y' = f(x,y)Solución en series de y' = f(x,y)
Solución en series de y' = f(x,y)
 
Métodos de resolución de EDOs mediante series
Métodos de resolución de EDOs mediante seriesMétodos de resolución de EDOs mediante series
Métodos de resolución de EDOs mediante series
 
Solución en series de EDOs no lineales de orden mayor a uno y de un sistema d...
Solución en series de EDOs no lineales de orden mayor a uno y de un sistema d...Solución en series de EDOs no lineales de orden mayor a uno y de un sistema d...
Solución en series de EDOs no lineales de orden mayor a uno y de un sistema d...
 
Problemas que originan sistemas de ecuaciones
Problemas que originan sistemas de ecuacionesProblemas que originan sistemas de ecuaciones
Problemas que originan sistemas de ecuaciones
 
Linealización de sistemas de primer orden
Linealización de sistemas de primer ordenLinealización de sistemas de primer orden
Linealización de sistemas de primer orden
 
Sistemas de EDOs
Sistemas de EDOsSistemas de EDOs
Sistemas de EDOs
 
Método de la secante
Método de la secanteMétodo de la secante
Método de la secante
 
Iteraciones de punto fijo
Iteraciones de punto fijoIteraciones de punto fijo
Iteraciones de punto fijo
 
Objetos y variables en Python
Objetos y variables en PythonObjetos y variables en Python
Objetos y variables en Python
 
Definiciones de Error
Definiciones de ErrorDefiniciones de Error
Definiciones de Error
 
Fundamentos de Computación y Programación
Fundamentos de Computación y ProgramaciónFundamentos de Computación y Programación
Fundamentos de Computación y Programación
 
Causality Strength Signatures for Measuring GCMs Performance: The South Ameri...
Causality Strength Signatures for Measuring GCMs Performance: The South Ameri...Causality Strength Signatures for Measuring GCMs Performance: The South Ameri...
Causality Strength Signatures for Measuring GCMs Performance: The South Ameri...
 

Kürzlich hochgeladen

Tipos de suelo y su clasificación y ejemplos
Tipos de suelo y su clasificación y ejemplosTipos de suelo y su clasificación y ejemplos
Tipos de suelo y su clasificación y ejemplosandersonsubero28
 
2. Cristaloquimica. ingenieria geologica
2. Cristaloquimica. ingenieria geologica2. Cristaloquimica. ingenieria geologica
2. Cristaloquimica. ingenieria geologicaJUDITHYEMELINHUARIPA
 
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)Ricardo705519
 
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNATINSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNATevercoyla
 
Matrices Matemáticos universitario pptx
Matrices  Matemáticos universitario pptxMatrices  Matemáticos universitario pptx
Matrices Matemáticos universitario pptxNancyJulcasumaran
 
FUNCION DE ESTADO EN LA TERMODINAMICA.pdf
FUNCION DE ESTADO EN LA TERMODINAMICA.pdfFUNCION DE ESTADO EN LA TERMODINAMICA.pdf
FUNCION DE ESTADO EN LA TERMODINAMICA.pdfalfredoivan1
 
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZgustavoiashalom
 
27311861-Cuencas-sedimentarias-en-Colombia.ppt
27311861-Cuencas-sedimentarias-en-Colombia.ppt27311861-Cuencas-sedimentarias-en-Colombia.ppt
27311861-Cuencas-sedimentarias-en-Colombia.pptjacnuevarisaralda22
 
libro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operacioneslibro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operacionesRamon Bartolozzi
 
Determinación de espacios en la instalación
Determinación de espacios en la instalaciónDeterminación de espacios en la instalación
Determinación de espacios en la instalaciónQualityAdviceService
 
Análisis de Costos y Presupuestos CAPECO
Análisis de Costos y Presupuestos CAPECOAnálisis de Costos y Presupuestos CAPECO
Análisis de Costos y Presupuestos CAPECOFernando Bravo
 
TAIICHI OHNO, historia, obras, reconocimientos
TAIICHI OHNO, historia, obras, reconocimientosTAIICHI OHNO, historia, obras, reconocimientos
TAIICHI OHNO, historia, obras, reconocimientoscuentaparainvestigac
 
PostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCDPostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCDEdith Puclla
 
Presentación de Redes de alcantarillado y agua potable
Presentación de Redes de alcantarillado y agua potablePresentación de Redes de alcantarillado y agua potable
Presentación de Redes de alcantarillado y agua potableFabricioMogroMantill
 
PRESENTACION DE LAS PLAGAS Y ENFERMEDADES DEL PALTO
PRESENTACION DE LAS PLAGAS Y ENFERMEDADES DEL PALTOPRESENTACION DE LAS PLAGAS Y ENFERMEDADES DEL PALTO
PRESENTACION DE LAS PLAGAS Y ENFERMEDADES DEL PALTOwillanpedrazaperez
 
Sistemas de Ecuaciones no lineales-1.pptx
Sistemas de Ecuaciones no lineales-1.pptxSistemas de Ecuaciones no lineales-1.pptx
Sistemas de Ecuaciones no lineales-1.pptx170766
 
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.ppt
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.pptTippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.ppt
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.pptNombre Apellidos
 
Tipos de Valvulas para uso industrial y comercial
Tipos de Valvulas para uso industrial y comercialTipos de Valvulas para uso industrial y comercial
Tipos de Valvulas para uso industrial y comercialmacsal12345
 
Presentacion de la ganaderia en la región
Presentacion de la ganaderia en la regiónPresentacion de la ganaderia en la región
Presentacion de la ganaderia en la regiónmaz12629
 

Kürzlich hochgeladen (20)

Tipos de suelo y su clasificación y ejemplos
Tipos de suelo y su clasificación y ejemplosTipos de suelo y su clasificación y ejemplos
Tipos de suelo y su clasificación y ejemplos
 
2. Cristaloquimica. ingenieria geologica
2. Cristaloquimica. ingenieria geologica2. Cristaloquimica. ingenieria geologica
2. Cristaloquimica. ingenieria geologica
 
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
 
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNATINSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
 
Matrices Matemáticos universitario pptx
Matrices  Matemáticos universitario pptxMatrices  Matemáticos universitario pptx
Matrices Matemáticos universitario pptx
 
FUNCION DE ESTADO EN LA TERMODINAMICA.pdf
FUNCION DE ESTADO EN LA TERMODINAMICA.pdfFUNCION DE ESTADO EN LA TERMODINAMICA.pdf
FUNCION DE ESTADO EN LA TERMODINAMICA.pdf
 
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
 
27311861-Cuencas-sedimentarias-en-Colombia.ppt
27311861-Cuencas-sedimentarias-en-Colombia.ppt27311861-Cuencas-sedimentarias-en-Colombia.ppt
27311861-Cuencas-sedimentarias-en-Colombia.ppt
 
libro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operacioneslibro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operaciones
 
Determinación de espacios en la instalación
Determinación de espacios en la instalaciónDeterminación de espacios en la instalación
Determinación de espacios en la instalación
 
Análisis de Costos y Presupuestos CAPECO
Análisis de Costos y Presupuestos CAPECOAnálisis de Costos y Presupuestos CAPECO
Análisis de Costos y Presupuestos CAPECO
 
TAIICHI OHNO, historia, obras, reconocimientos
TAIICHI OHNO, historia, obras, reconocimientosTAIICHI OHNO, historia, obras, reconocimientos
TAIICHI OHNO, historia, obras, reconocimientos
 
PostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCDPostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCD
 
Presentación de Redes de alcantarillado y agua potable
Presentación de Redes de alcantarillado y agua potablePresentación de Redes de alcantarillado y agua potable
Presentación de Redes de alcantarillado y agua potable
 
PRESENTACION DE LAS PLAGAS Y ENFERMEDADES DEL PALTO
PRESENTACION DE LAS PLAGAS Y ENFERMEDADES DEL PALTOPRESENTACION DE LAS PLAGAS Y ENFERMEDADES DEL PALTO
PRESENTACION DE LAS PLAGAS Y ENFERMEDADES DEL PALTO
 
422382393-Curso-de-Tableros-Electricos.pptx
422382393-Curso-de-Tableros-Electricos.pptx422382393-Curso-de-Tableros-Electricos.pptx
422382393-Curso-de-Tableros-Electricos.pptx
 
Sistemas de Ecuaciones no lineales-1.pptx
Sistemas de Ecuaciones no lineales-1.pptxSistemas de Ecuaciones no lineales-1.pptx
Sistemas de Ecuaciones no lineales-1.pptx
 
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.ppt
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.pptTippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.ppt
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.ppt
 
Tipos de Valvulas para uso industrial y comercial
Tipos de Valvulas para uso industrial y comercialTipos de Valvulas para uso industrial y comercial
Tipos de Valvulas para uso industrial y comercial
 
Presentacion de la ganaderia en la región
Presentacion de la ganaderia en la regiónPresentacion de la ganaderia en la región
Presentacion de la ganaderia en la región
 

Programación 3: Clases y objetos en Java

  • 1. TIPOS DE DATOS Clases y objetos Por: Daniel Gómez Jaramillo. Estructura de Archivos
  • 2. CONTENIDO 1. Abstracción de los lenguajes de programación. 2. Tipos abstractos de datos. 3. Especificación de los TAD. 4. Clases y objetos. 5. Declaración de una clase. 6. Paquetes. 7. Constructores. 8. Recolección de objetos 9. Objeto que envía el mensaje: this. 10. Miembros static de una clase. 11. Clase object. 12. Referencias bibliográficas. 13. Aplicación en Java.
  • 3. ABSTRACCIÓN DE LOS LENGUAJES DE PROGRAMACIÓN Los lenguajes de programación son las herramientas mediante las cuales los diseñadores de lenguajes pueden implementar los modelos abstractos. ABSTRACCIÓN: Permite distinguir las características de los objetos: Atributos y Métodos. INVESTIGAR () REDACTAR () LEER () NOMBRE DIRECCION INDENTIFICACION ABSTRACCIÓN: Ignorar detalles específicos buscando generalidades que ofrezcan una perspectiva distinta, mas favorable a su resolución.
  • 4. ABSTRACCIÓN DE LOS LENGUAJES DE PROGRAMACIÓN ABSTRACCIONES DE CONTROL NIVEL DE SENTENCIA NIVEL POR PROCEDIMIENTO En Java, la abstracción procedimental se establece con los métodos o funciones miembros de clases. La abstracción a nivel de sentencia se establece con sentencias condicionales y sentencias repetitivas. La evolución de los lenguajes de programación ha permitido la aparición de otros mecanismos para la abstracción de control, como manejo de excepciones, unidades concurrentes o plantillas. OTROS MECANISMOS DE CONTROL
  • 5. ABSTRACCIÓN DE LOS LENGUAJES DE PROGRAMACIÓN ABSTRACCIONES DE DATOS La abstracción de datos es la técnica de programación que permite inventar o definir nuevos tipos de datos (tipos de datos definidos por el usuario) adecuados a la aplicación que se desea realizar. Objetivo: simplificar el proceso de la programación. Lo hace permitiendo al programador concentrarse sólo en los atributos que son esenciales y le permite ignorar los que son prescindibles. Consideraciones esenciales: Los datos que se involucran en el problema. Las operaciones que se aplican sobre los datos Los tipos de datos son abstracciones y el proceso de construir nuevos tipos se llama abstracción de datos
  • 6. TIPO ABSTRACTO DE DATO Un tipo de datos definido por el programador se denomina tipo abstracto de datos (TAD) para distinguirlo de los tipos predefinidos de datos. Los tipos abstractos de datos están formados por los datos (estructuras de datos) y las operaciones (procedimientos o funciones) que se realizan sobre esos datos. Las principales ventajas que nos aportan los TAD son las siguientes: Mejoran la conceptualización y hacen más claro y comprensible el código. Hacen que el sistema sea más robusto. Reducen el tiempo de compilación. Permiten modificar la implementación sin que afecte al interfaz público. Facilitan la extensibilidad.
  • 7. TIPO ABSTRACTO DE DATO struct TAD { char Nombre[30]; char correo[35]; int edad; }; class TAD { public: string Nombre; string correo; int edad; }; IMPLEMENTACION DE LOS TAD C/C++ C++
  • 8. CLASES Y OBJETOS CLASE: es la abstracción de las propiedades y operaciones o acciones que ejecutan los objetos del mundo real. OBJETO: son las instancias de una clase. Nombre de la clase Características de la clase VEHICULO Marca Referencia Modelo Placa Color Valor Clase Objetos de la clase Marca: Chevrolet Referencia: Aveo Modelo: 2010 Placa: AAB112 Color: Naranja Valor: $20,000,000 Marca: Ford Referencia: Fiesta Modelo: 2017 Placa: DGM779 Color: Verde Valor: $35,999,000 Objeto 1 Objeto 2 Cada objeto tiene valores propios para cada una de las características de la Clase. Los objetos que existen en el mundo real pueden ser conceptuales o físicos.
  • 9. DECLARACIÓN DE UNA CLASE Una clase se representa en un modelo, como se observa a continuación: Nombre Clase Características (Atributos) Comportamiento (Métodos) Nombre Clase Características (Atributos) Comportamiento (Métodos) Cabecera Cuerpo de la Clase CLASE class NombreClase { } Declaración de Atributos Definición de Métodos
  • 10. DECLARACIÓN DE UNA CLASE Visibilidad de los métodos de una clase Un principio fundamental en programación orientada a objetos es la ocultación de la información, que significa que a determinados datos del interior de una clase no se puede acceder por métodos externos a ella. No accesibles desde el exterior de la clase (acceso denegado) Privado Accesible desde el exterior de la clase Publico Datos o Métodos Datos o Métodos Las subclases si pueden tener acceso. Protegido Datos o Métodos
  • 11. DECLARACIÓN DE UNA CLASE Visibilidad de los métodos de una clase Un principio fundamental en programación orientada a objetos es la ocultación de la información, que significa que a determinados datos del interior de una clase no se puede acceder por métodos externos a ella. Tipo de miembro Miembro de la misma clase Miembro de una clase derivada Miembro de clase del paquete Miembro de clase de otro paquete Private X En blanco X X Protected X X X Public X X X X Visibilidad, “X” indica que el acceso está permitido.
  • 12. DECLARACIÓN DE UNA CLASE Métodos de una clase: • Definen el comportamiento de una clase. • Es la agrupación de un conjunto de instrucciones que resuelven una tarea en particular. • Una invocación (llamada) activa ese comportamiento sobre un determinado objeto. class Producto { private int ID; private string Nombre; Public void setID(int ID); Public void setNombre(String Nombre); Public int getID(); Public String getNombre(); }
  • 13. PAQUETES Sentencia Package. Los paquetes son la forma que tiene Java de organizar los archivos con las clases necesarias para construir las aplicaciones. Java incorpora varios paquetes, por ejemplo java.util o java.io, con las clases básicas para construir programas. Formato: package NombrePaquete; Las clases que se encuentran en los paquetes se identifican utilizando el nombre del paquete, el selector punto (.) y, a continuación, el nombre de la clase. Import Formato: import IdentificacionPaquete.NombreClase; import IdentificacionPaquete.*; Aunque aparezca la sentencia import paquete.*, el compilador genera bytecode sólo para las clases utilizadas
  • 14. CONSTRUCTORES Un constructor es un método que se ejecuta automáticamente cuando se crea un objeto de una clase. Sirve para inicializar los miembros de la clase. El constructor tiene el mismo nombre que la clase. Cuando se define no se puede especificar un valor de retorno, nunca devuelve un valor. Sin embargo, puede tomar cualquier número de argumentos. class Persona { string nombre; int edad; public Persona(string nom, int ed) { nombre = nom; edad = ed; } }
  • 15. CONSTRUCTORES Reglas Para crear un constructor: 1. El constructor tiene el mismo nombre que la clase. 2. Puede tener cero o mas argumentos. 3. No tiene tipo de retorno. Constructor por defecto: Java crea automáticamente un constructor por defecto cuando no existen otros constructores. Constructores sobrecargados : Para prevenir a los usuarios de la clase de crear un objeto sin parámetros, se puede: (1) omitir el constructor por defecto, o bien (2) hacer el constructor privado.
  • 16. RECOLECCIÓN DE OBJETOS Instancias de una clase: En Java, un objeto siempre ha de estar referenciado por una variable; en el momento en que un objeto deja de estar referenciado, se activa la rutina de recolección de memoria, se puede decir que el objeto es liberado y la memoria que ocupa puede ser reutilizada. Ejemplo: Persona Eduardo = new Persona(“Eduardo”, 22); Destrucción de un objeto: La siguiente sentencia provoca que el objeto Eduardo sea liberado automáticamente: Eduardo = null;
  • 17. RECOLECCIÓN DE OBJETOS Metodo finalize() El método finalize() es especial, se llama automáticamente si ha sido definido en la clase, justo antes que la memoria del objeto recolectado vaya a ser devuelta al sistema. El método no es un destructor del objeto, no libera memoria; en algunas aplicaciones, se puede utilizar para liberar ciertos recursos del sistema. Ejemplo: protected void finalize() { System.out.println("Fin de objeto…"); NroPersonas--; }
  • 18. OBJETO QUE ENVÍA EL MENSAJE: this El uso más frecuente del this en Java tiene lugar cuando existe sobrecarga de nombres. La sobrecarga de nombres se da cuando tenemos una variable local de un método o constructor, o un parámetro formal de un método o constructor, con un nombre idéntico al de un campo de la clase. Fundamentalmente, this tiene dos usos: 1. Seleccionar explícitamente un miembro de una clase con el fin de dar mas claridad o de evitar colisión de identificadores. class Triangulo { private double base; private double altura; public void datosTriangulo(double base, double altura) { this.base = base; this.altura = altura; } } Fundamentalmente, this tiene dos usos:
  • 19. OBJETO QUE ENVÍA EL MENSAJE: this El uso más frecuente del this en Java tiene lugar cuando existe sobrecarga de nombres. La sobrecarga de nombres se da cuando tenemos una variable local de un método o constructor, o un parámetro formal de un método o constructor, con un nombre idéntico al de un campo de la clase. Fundamentalmente, this tiene dos usos: 2. Que un método devuelva el mismo objeto que lo llamó. De esa manera, se pueden hacer llamadas en cascada a métodos de la misma clase. class Triangulo { private double base; private double altura; public Triangulo datosTriangulo(double base, double altura) { this.base = base; this.altura = altura; return this; } } Fundamentalmente, this tiene dos usos:
  • 20. MIEMBROS static DE UNA CLASE Cada instancia de una clase, cada objeto, tiene su propia copia de las variables de la clase. Cuando interese que haya miembros que no estén ligados a los objetos sino a la clase y, por tanto, sean comunes a todos los objetos, estos se declaran static. Variables static: Las variables de clase static son compartidas por todos los objetos de la clase. Se declaran de igual manera que otra variable, añadiendo como prefijo la palabra reservada static. Métodos static: Los métodos de las clases se llaman a través de los objetos. En ocasiones interesa definir métodos que estén controlados por la clase, de modo que no haga falta crear un objeto para llamarlos: son los métodos static. private static double base; private static double altura; public static Triangulo datosTriangulo(double base, double altura) {}
  • 21. CLASE object Object es la superclase base de todas las clases de Java; toda clase definida en Java hereda de la clase Object y, en consecuencia, toda variable referencia a una clase se convierte, automáticamente, al tipo Object. Ejemplo: Object g; String cd = new String("Barranco la Parra"); Integer y = new Integer(72); // objeto inicializado a 72 g = cd; // g referencia al mismo objeto que cd g = y; // g ahora referencia a un objeto Integer La clase Object tiene dos métodos importantes: equals() y toString(). Generalmente, se redefinen en las clases para especializarlos. equals(): Compara el objeto que hace la llamada con el objeto que se pasa como argumento. toString(): Este método construye una cadena, que es la representación del objeto.
  • 22. REFERENCIAS BIBLIOGRÁFICAS • Paredes, D. (2007). Tipos Abstractos de Datos (TAD). Obtenido de David Paredes: http://www.davidparedes.es/2009/01/02/tipos- abstractos-de-datos-tad/ • Joyanes, L., & Zahonero, I. (2008). Estructuras de datos. Mc Graw Hill. • Augusto, P. (2013). Java a fondo, 2da edición. Alfaomega. • Deitel, H., & Deitel, P. (2004). Como programar en C/C++ y Java, cuarta edición. Juarez: Pearson. • Avella, C. (2013). Curso de POO en Java - clases y objetos. Obtenido de Slideshare: http://es.slideshare.net/cpavella/6-clases-objetos • Flores, C. (2015). Objetos y Clases. Obtenido de SlidePlayer: http://slideplayer.es/slide/3957888/
  • 23. APLICACIÓN EN JAVA Se desea realizar una clase Vector3d que permita manipular vectores de tres componentes (coordenadas x, y, z) de acuerdo con las siguientes normas: • Posee un método constructor. • Tiene un método miembro equals() que permite saber si dos vectores tienen sus componentes o coordenadas iguales. • Posee un método normamax() que permita obtener la norma de dos vectores (Nota: La norma de un vector v = x, y, z es ( 𝑥2 + 𝑦2 + 𝑧2 ).
  • 24. ¡¡ GRACIAS !! Programación III: Estructura de Archivos