SlideShare una empresa de Scribd logo
1 de 42
INSTITUTO TECNOLÓGICO DE SALINA CRUZ 
Materia: 
Benita Villalobos Pérez 
docente: 
M.C Susana Mónica Román Nájera 
Materia: 
Estructura y Organización de datos 
Tema: 
Unidad 2 
Carrera: TIC´S 
grupo: 3E
TEMAS 
 2.1. Abstracción en lenguajes de 
 programación. 
 2.2. Tipos abstractos de datos. 
 2.3. Especificación de los TAD. 
 2.4. Clases y objetos. 
 2.5. Declaración de una clase. 
 2.6. Paquetes. 
 2.7. Constructores. 
 2.8. Recolección de objetos. 
 2.9. Objeto que envía el mensaje: this. 
 2.10. Miembros static de una clase. 
 2.11. Clase Object. 
 2.12. Tipos abstractos de datos en Java.
OBJETIVO 
Comprender mas a fondo todos los temas que viene 
en el libro y así poder aumentar nuestro conocimiento 
sobre las estructuras de datos y sus funciones para 
llevarlos a la practica.
Son las herramientas mediante las cuales los 
diseñadores de lenguajes pueden implementar los 
modelos abstractos. 
La abstracción ofrecida por los lenguajes de 
programación se puede dividir en dos categorías: 
abstracción de datos (perteneciente a los datos) y 
abstracción de control (perteneciente a las 
estructuras de control).
Abstracciones de control 
Los microprocesadores ofrecen directamente sólo dos 
mecanismos para controlar el flujo y ejecución de las 
instrucciones: secuencia y salto. 
Los primeros lenguajes de programación de alto nivel 
introdujeron las estructuras de control: sentencias de 
bifurcación (if) y bucles 
(for, while, do-loop, etc.). 
Las estructuras de control describen el orden en el que se 
ejecutan las sentencias o grupos de sentencia (unidades de 
programa). Las unidades de programa se utilizan como 
bloques básicos de la clásica descomposición “descendente”.
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. 
La abstracción de datos es una técnica muy potente que 
permite diseñar programas más cortos, legibles y flexibles. 
La esencia de la abstracción es similar a la utilización de un 
tipo de dato, cuyo uso se realiza sin tener en cuenta cómo 
está representado o implementado.
Un tipo abstracto es un tipo de dato que consta de 
datos(estructuras de datos propias) y operaciones 
que se pueden realizar sobre ellos. Un TAD se 
compone de estructuras de datos y los 
procedimientos o funciones que manipulan esas 
estructuras de datos.
Un tipo abstracto de datos puede definirse mediante 
la ecuación: 
TAD = Representación (datos) + Operaciones 
(funciones y procedimientos) 
Un tipo abstracto de datos es un modelo (estructura) 
con un número de operaciones que afectan a ese 
modelo.
El objetivo de la especificación es describir el comportamiento 
del TAD; consta de dos partes, la descripción matemática del 
conjunto de datos y la de las operaciones definidas en ciertos 
elementos de ese conjunto de datos. 
La especificación del TAD puede tener un enfoque informal, 
que describe los datos y las operaciones relacionadas en 
lenguaje natural. Otro enfoque mas riguroso, la especificación 
formal, supone suministrar un conjunto de axiomas que 
describen las operaciones en su aspecto 
sintáctico y semántico.
Especificación informal de un TAD 
Consta de dos partes: 
• Detallar en los datos del tipo los valores que pueden tomar. 
• Describir las operaciones relacionándolas con los datos. 
Especificación formal de un TAD 
La especificación formal proporciona un conjunto de axiomas que 
describen el comportamiento de todas las operaciones. 
La descripción ha de incluir una parte de sintaxis, en cuanto a los 
tipos de los argumentos y al tipo del resultado, y una parte de 
semántica, donde se detalla la expresión del resultado que se 
obtiene para unos valores particulares de los argumentos. 
La especificación formal ha de ser lo bastante potente para que 
cumpla el objetivo de verificar la corrección de la implementación del 
TAD.
¿QUÉ SON OBJETOS? 
En el mundo real, las personas identifican los objetos como 
cosas que pueden ser percibidas por los cinco sentidos. Los 
objetos tienen propiedades específicas, como posición, 
tamaño, color, forma, textura, etc. que definen su estado. Los 
objetos también poseen ciertos comportamientos que los 
hacen diferentes de otros objetos. 
Booch define un objeto como “algo que tiene un estado, un 
comportamiento y una identidad”.
¿QUÉ SON CLASES? 
En términos prácticos, una clase es un tipo definido por el usuario. Las 
clases son los bloques de construcción fundamentales de los programas 
orientados a objetos. 
Booch define una clase como “un conjunto de objetos que comparten una 
estructura y un comportamiento comunes”. 
Una clase contiene la especificación de los datos que describen un objeto 
junto con la descripción de las acciones que un objeto conoce cómo ha de 
ejecutar. Estas acciones se conocen como servicios o métodos. Una clase 
incluye también todos los datos necesarios para describir los objetos 
creados a partir de la clase. 
Estos datos se conocen como atributos, variables o variables instancia. El 
término atributo se utiliza en análisis y diseño orientado a objetos, y el 
término variable instancia se suele utilizar en programas orientados a 
objetos.
La definición de una clase significa que se debe dar a la misma un 
nombre, dar nombre también a los elementos que almacenan sus datos y 
describir los métodos que realizarán las acciones consideradas en los 
objetos. 
Las definiciones o especificaciones no son un código de programa 
ejecutable. Se utilizan para asignar almacenamiento a los valores de los 
atributos usados por el programa y reconocer los métodos que utilizará el 
programa. Normalmente, se sitúan en archivos formando los 
denominados packages, se utiliza un archivo para varias clases que están 
relacionadas
Una vez que una clase ha sido definida, un programa puede contener una 
instancia de la clase, denominada objeto de la clase. Un objeto se crea 
con el operador new aplicado a un constructor de la clase. 
Un objeto de la clase Punto inicializado a las coordenadas (2,1) sería: 
new Punto(2,1); 
El operador new crea el objeto y devuelve una referencia al objeto 
creado. Esta referencia se asigna a una variable del tipo de la clase. El 
objeto permanecerá vivo siempre que esté referenciado por una variable 
de la clase que es instancia. 
Edad f = new Edad();
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.lang o java.io, 
Con las clases básicas para construir programas: System, 
String, Integer ... 
package NombrePaquete;
La sentencia package se utiliza para este cometido. En primer lugar se 
debe incluir la sentencia package como primera línea del archivo 
fuente de cada una de las clases del paquete. 
Por ejemplo, si las clases Lápiz, Bolígrafo y Folio se van a organizar 
formando el paquete escritorio, el esquema a seguir es el siguiente: 
// archivo fuente Lapiz.java 
package escritorio; 
public class Lápiz 
{ 
// miembros de clase Lápiz 
} // archivo fuente Boligrafo.java 
package escritorio; 
public class Bolígrafo 
{ 
// miembros de clase Bolígrafo 
} 
// archivo fuente Folio.java 
package escritorio; 
public class Folio 
{ 
// miembros de clase Folio
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. Por ejemplo, la declaración de la clase Arte con atributos de la clase 
PrintStream (paquete java.io) y Lápiz (paquete escritorio): 
public class Arte 
{ 
private java.io.PrintStream salida; 
private escritorio.Lapiz p; 
}
La sentencia import facilita la selección de una clase, permite 
escribir únicamente su nombre, 
evitando el nombre del paquete. La declaración anterior se puede 
abreviar: 
import java.io.PrintStream; 
import escritorio.*; 
public class Arte 
{ 
private PrintStream salida; 
private Lápiz p; 
} 
La sentencia import debe aparecer antes de la declaración de las 
clases, a continuación de la 
sentencia package.
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. 
Reglas 
1. El constructor tiene el mismo nombre que la clase. 
2. Puede tener cero o más argumentos. 
3. No tiene tipo de retorno.
Constructor por defecto 
Un constructor que no tiene parámetros se llama constructor 
por defecto. Un constructor por 
defecto normalmente inicializa los miembros dato de la clase 
con valores por defecto. 
Regla 
Java crea automáticamente un constructor por defecto 
cuando no existen otros constructores. 
Tal constructor inicializa las variables de tipo numérico (int, 
float ...) a cero, las variables de tipo boolean a true y las 
referencias a null.
Constructores sobrecargados 
Al igual que se puede sobrecargar un método de una clase, 
también se puede sobrecargar el constructor de una clase. De 
hecho, los constructores sobrecargados son bastante 
frecuentes y proporcionan diferentes alternativas para 
inicializar objetos. 
Regla 
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.
this es una referencia al objeto que envía un mensaje, o 
simplemente, una referencia al objeto que llama un método 
(este no debe ser static). Internamente se define: 
final NombreClase this;
Seleccionar explícitamente un miembro de una clase con el fin de 
dar mas claridad o de evitar colisión de identificadores. 
Por ejemplo: 
class Triangulo 
{ 
private double base; 
private double altura; 
public void datosTriangulo(double base, double altura) 
{ 
this.base = base; 
this.altura = altura; 
} 
// ... 
} 
Se ha evitado con this la colisión entre argumentos y variables 
instancia.
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.
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. 
Por ejemplo: 
public class Conjunto 
{ 
private static int k = 0; 
static Totem lista = null; 
// ... 
}
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. 
Por 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, devuelve true si son iguales. 
boolean equals(Object k); 
El siguiente ejemplo compara dos objetos; la comparación es 
true si contienen la misma cadena. 
String ar = new String("Iglesia románica");
toString() 
Este método construye una cadena, que es la representación 
del objeto, y devuelve la cadena. 
Normalmente, se redefine en las clases para dar así detalles 
explícitos de los objetos de la clase. 
String toString() 
Por ejemplo, un objeto Double llama al método toString() y 
asigna la cadena a una variable. 
Double r = new Double(2.5); 
String rp; 
rp = r.toString();
Los tipos abstractos de datos (TAD) describen un conjunto de 
objetos con la misma representación y comportamiento. Los tipos 
abstractos de datos presentan una separación clara entre la interfaz 
externa de un tipo de datos y su implementación interna. 
La implementación de un tipo abstracto de datos está oculta. Por 
consiguiente, se pueden utilizar implementaciones alternativas para 
el mismo tipo abstracto de dato sin cambiar su interfaz. 
La especificación de un tipo abstracto de datos se puede hacer de 
manera informal, o bien, de forma mas rigurosa, una especificación 
formal. En la especificación informal se describen literalmente los 
datos y la funcionalidad de las operaciones.
La especificación formal describe los datos, la sintaxis y la 
semántica de las operaciones, considerando ciertas 
operaciones como axiomas, que son los constructores de 
nuevos datos. 
Una buena especificación formal de un tipo abstracto de datos 
debe poder verificar la bondad de la implementación. 
En la mayoría de los lenguajes de programación orientados a 
objetos, y en particular en Java, los tipos abstractos de datos 
se implementan mediante clases.
CONCLUSIONES 
Este capitulo trata mas que nada sobre las clases y objetos, 
sus métodos, sus atributos, como se declaran durante la 
ejecución de un programa para no poder tener errores trata 
mas que nada una recolección de información sobre los temas 
vistos el semestre anterior.

Más contenido relacionado

La actualidad más candente

Fundamentos de POO
Fundamentos de POOFundamentos de POO
Fundamentos de POOgueritamala
 
Clases Y Objetos en C#
Clases Y Objetos en C#Clases Y Objetos en C#
Clases Y Objetos en C#Jonathan
 
Unidad 3. obj 3.2 Programación Orientada a Objetos
Unidad 3. obj 3.2 Programación Orientada a ObjetosUnidad 3. obj 3.2 Programación Orientada a Objetos
Unidad 3. obj 3.2 Programación Orientada a ObjetosAlix Indriago
 
Introducción a Programación Orientada a Objetos (OOP): Clases y Objetos
Introducción a  Programación Orientada a Objetos (OOP): Clases y ObjetosIntroducción a  Programación Orientada a Objetos (OOP): Clases y Objetos
Introducción a Programación Orientada a Objetos (OOP): Clases y ObjetosKudos S.A.S
 
Programación orientada al objeto
Programación orientada al objetoProgramación orientada al objeto
Programación orientada al objetoboncastell
 
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
 
Poocpp2
Poocpp2Poocpp2
Poocpp2Leotom
 
Elementos básicos de la programación orientada a objetos.
Elementos básicos de la programación orientada a objetos.Elementos básicos de la programación orientada a objetos.
Elementos básicos de la programación orientada a objetos.Whaleejaa Wha
 
Programación 3: clases derivadas y polimorfismo
Programación 3: clases derivadas y polimorfismoProgramación 3: clases derivadas y polimorfismo
Programación 3: clases derivadas y polimorfismoAngel Vázquez Patiño
 
Diagramas Analisis
Diagramas AnalisisDiagramas Analisis
Diagramas Analisisinnovalabcun
 
Programación 3: Clases y objetos en Java
Programación 3: Clases y objetos en JavaProgramación 3: Clases y objetos en Java
Programación 3: Clases y objetos en JavaAngel Vázquez Patiño
 
PROGRAMACION ORIENTADA A OBJETOS
PROGRAMACION ORIENTADA A OBJETOSPROGRAMACION ORIENTADA A OBJETOS
PROGRAMACION ORIENTADA A OBJETOSAbraham Morales
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetospontifica
 
Diseño de Sistemas
Diseño de SistemasDiseño de Sistemas
Diseño de Sistemasjorgecaruci
 
Fundamentos básicos de la programación orientada a objetos
Fundamentos básicos de la programación orientada a objetosFundamentos básicos de la programación orientada a objetos
Fundamentos básicos de la programación orientada a objetosALGLYS RAMIREZ
 

La actualidad más candente (20)

Fundamentos de POO
Fundamentos de POOFundamentos de POO
Fundamentos de POO
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
 
Clases Y Objetos en C#
Clases Y Objetos en C#Clases Y Objetos en C#
Clases Y Objetos en C#
 
Unidad 3. obj 3.2 Programación Orientada a Objetos
Unidad 3. obj 3.2 Programación Orientada a ObjetosUnidad 3. obj 3.2 Programación Orientada a Objetos
Unidad 3. obj 3.2 Programación Orientada a Objetos
 
POO
POOPOO
POO
 
Introducción a Programación Orientada a Objetos (OOP): Clases y Objetos
Introducción a  Programación Orientada a Objetos (OOP): Clases y ObjetosIntroducción a  Programación Orientada a Objetos (OOP): Clases y Objetos
Introducción a Programación Orientada a Objetos (OOP): Clases y Objetos
 
POO sencillito
POO sencillitoPOO sencillito
POO sencillito
 
Programación orientada al objeto
Programación orientada al objetoProgramación orientada al objeto
Programación orientada al objeto
 
Semanas01y02
Semanas01y02Semanas01y02
Semanas01y02
 
Unidad 2 poo_clases_y_objetos
Unidad 2 poo_clases_y_objetosUnidad 2 poo_clases_y_objetos
Unidad 2 poo_clases_y_objetos
 
Poocpp2
Poocpp2Poocpp2
Poocpp2
 
Elementos básicos de la programación orientada a objetos.
Elementos básicos de la programación orientada a objetos.Elementos básicos de la programación orientada a objetos.
Elementos básicos de la programación orientada a objetos.
 
Programación 3: clases derivadas y polimorfismo
Programación 3: clases derivadas y polimorfismoProgramación 3: clases derivadas y polimorfismo
Programación 3: clases derivadas y polimorfismo
 
Diagramas Analisis
Diagramas AnalisisDiagramas Analisis
Diagramas Analisis
 
Programación 3: Clases y objetos en Java
Programación 3: Clases y objetos en JavaProgramación 3: Clases y objetos en Java
Programación 3: Clases y objetos en Java
 
Clases y Objetos
Clases y ObjetosClases y Objetos
Clases y Objetos
 
PROGRAMACION ORIENTADA A OBJETOS
PROGRAMACION ORIENTADA A OBJETOSPROGRAMACION ORIENTADA A OBJETOS
PROGRAMACION ORIENTADA A OBJETOS
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
 
Diseño de Sistemas
Diseño de SistemasDiseño de Sistemas
Diseño de Sistemas
 
Fundamentos básicos de la programación orientada a objetos
Fundamentos básicos de la programación orientada a objetosFundamentos básicos de la programación orientada a objetos
Fundamentos básicos de la programación orientada a objetos
 

Similar a Benita ppp unidad 1

Proyecto en android completado
Proyecto en android completadoProyecto en android completado
Proyecto en android completadoKai Exo
 
Semanas01y02
Semanas01y02Semanas01y02
Semanas01y02luisortiz
 
Tarea 5
Tarea 5Tarea 5
Tarea 5ar qb
 
Framework .NET 3.5 07 Programación orientada a objetos
Framework .NET 3.5 07 Programación orientada a objetosFramework .NET 3.5 07 Programación orientada a objetos
Framework .NET 3.5 07 Programación orientada a objetosAntonio Palomares Sender
 
PresentacióN1
PresentacióN1PresentacióN1
PresentacióN1Rokr02
 
modularidad de programación 2da parte (3) (1).pptx
modularidad de programación 2da parte (3) (1).pptxmodularidad de programación 2da parte (3) (1).pptx
modularidad de programación 2da parte (3) (1).pptxjavierccallo
 
Daniel espinosa garzon
Daniel espinosa garzonDaniel espinosa garzon
Daniel espinosa garzonorus004
 
Conceptualizacion lenguajes de programacion
Conceptualizacion lenguajes de programacionConceptualizacion lenguajes de programacion
Conceptualizacion lenguajes de programacionorus004
 
Unidad 2 ProgramacióN Orientada A Objetos (Repaso)
Unidad 2 ProgramacióN Orientada A Objetos (Repaso)Unidad 2 ProgramacióN Orientada A Objetos (Repaso)
Unidad 2 ProgramacióN Orientada A Objetos (Repaso)Sergio Sanchez
 
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
 
Trabajo de diceño y realizacion
Trabajo de diceño y realizacionTrabajo de diceño y realizacion
Trabajo de diceño y realizacionLolyPila
 
Conceptos y definiciones de poo (quino ortiz & miguel martinez)
Conceptos y definiciones de poo (quino ortiz & miguel martinez)Conceptos y definiciones de poo (quino ortiz & miguel martinez)
Conceptos y definiciones de poo (quino ortiz & miguel martinez)MIGUEL_INGENIERO
 

Similar a Benita ppp unidad 1 (20)

Clases y objetos en Java
Clases y objetos en JavaClases y objetos en Java
Clases y objetos en Java
 
Proyecto en android completado
Proyecto en android completadoProyecto en android completado
Proyecto en android completado
 
Programacion
ProgramacionProgramacion
Programacion
 
Semanas01y02
Semanas01y02Semanas01y02
Semanas01y02
 
Tarea 5
Tarea 5Tarea 5
Tarea 5
 
Framework .NET 3.5 07 Programación orientada a objetos
Framework .NET 3.5 07 Programación orientada a objetosFramework .NET 3.5 07 Programación orientada a objetos
Framework .NET 3.5 07 Programación orientada a objetos
 
PresentacióN1
PresentacióN1PresentacióN1
PresentacióN1
 
modularidad de programación 2da parte (3) (1).pptx
modularidad de programación 2da parte (3) (1).pptxmodularidad de programación 2da parte (3) (1).pptx
modularidad de programación 2da parte (3) (1).pptx
 
Ed java
Ed javaEd java
Ed java
 
Ed java
Ed javaEd java
Ed java
 
Daniel espinosa garzon
Daniel espinosa garzonDaniel espinosa garzon
Daniel espinosa garzon
 
Conceptualizacion lenguajes de programacion
Conceptualizacion lenguajes de programacionConceptualizacion lenguajes de programacion
Conceptualizacion lenguajes de programacion
 
Unidad II.pdf
Unidad II.pdfUnidad II.pdf
Unidad II.pdf
 
metodos de clases
metodos de clasesmetodos de clases
metodos de clases
 
Unidad 2 ProgramacióN Orientada A Objetos (Repaso)
Unidad 2 ProgramacióN Orientada A Objetos (Repaso)Unidad 2 ProgramacióN Orientada A Objetos (Repaso)
Unidad 2 ProgramacióN Orientada A Objetos (Repaso)
 
Guia3 java
Guia3 javaGuia3 java
Guia3 java
 
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++
 
Trabajo de diceño y realizacion
Trabajo de diceño y realizacionTrabajo de diceño y realizacion
Trabajo de diceño y realizacion
 
Conceptos y definiciones de poo (quino ortiz & miguel martinez)
Conceptos y definiciones de poo (quino ortiz & miguel martinez)Conceptos y definiciones de poo (quino ortiz & miguel martinez)
Conceptos y definiciones de poo (quino ortiz & miguel martinez)
 
PROGRAMACIÓN ORIENTADA A OBJETOS
PROGRAMACIÓN ORIENTADA A OBJETOSPROGRAMACIÓN ORIENTADA A OBJETOS
PROGRAMACIÓN ORIENTADA A OBJETOS
 

Más de TAtiizz Villalobos (20)

Cuadro sinoptico unidad 1
Cuadro sinoptico unidad 1Cuadro sinoptico unidad 1
Cuadro sinoptico unidad 1
 
Cuadro sinoptico unidad 1
Cuadro sinoptico unidad 1Cuadro sinoptico unidad 1
Cuadro sinoptico unidad 1
 
Proyecto susana final
Proyecto susana finalProyecto susana final
Proyecto susana final
 
Unidad iii pilas y colas
Unidad iii pilas y colasUnidad iii pilas y colas
Unidad iii pilas y colas
 
Estructura de datos benita
Estructura de datos benitaEstructura de datos benita
Estructura de datos benita
 
Apuntes
ApuntesApuntes
Apuntes
 
Recursividad
RecursividadRecursividad
Recursividad
 
Estructura de datos benita
Estructura de datos benitaEstructura de datos benita
Estructura de datos benita
 
Practicas susana todo unidad1
Practicas susana todo unidad1Practicas susana todo unidad1
Practicas susana todo unidad1
 
Tabla comparativa unidad1 benita
Tabla comparativa unidad1 benitaTabla comparativa unidad1 benita
Tabla comparativa unidad1 benita
 
Estructura de datos benita
Estructura de datos benitaEstructura de datos benita
Estructura de datos benita
 
Mapa conceptual unidad 1 benita
Mapa conceptual unidad 1 benitaMapa conceptual unidad 1 benita
Mapa conceptual unidad 1 benita
 
Tabla comparativa unidad1 benita
Tabla comparativa unidad1 benitaTabla comparativa unidad1 benita
Tabla comparativa unidad1 benita
 
Estructura de datos benita
Estructura de datos benitaEstructura de datos benita
Estructura de datos benita
 
Analisis del cap 8
Analisis del cap 8Analisis del cap 8
Analisis del cap 8
 
Practicas unidad 2 evidencias
Practicas unidad 2 evidenciasPracticas unidad 2 evidencias
Practicas unidad 2 evidencias
 
Método rápido (quicksort) (1)
Método rápido (quicksort) (1)Método rápido (quicksort) (1)
Método rápido (quicksort) (1)
 
Reporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamientoReporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamiento
 
Practica1unidad4benita
Practica1unidad4benitaPractica1unidad4benita
Practica1unidad4benita
 
Evidencias practica uni 3
Evidencias practica uni 3Evidencias practica uni 3
Evidencias practica uni 3
 

Último

GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaarkananubis
 
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
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
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
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
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
 

Último (20)

GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en mina
 
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
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
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
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
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
 

Benita ppp unidad 1

  • 1. INSTITUTO TECNOLÓGICO DE SALINA CRUZ Materia: Benita Villalobos Pérez docente: M.C Susana Mónica Román Nájera Materia: Estructura y Organización de datos Tema: Unidad 2 Carrera: TIC´S grupo: 3E
  • 2. TEMAS  2.1. Abstracción en lenguajes de  programación.  2.2. Tipos abstractos de datos.  2.3. Especificación de los TAD.  2.4. Clases y objetos.  2.5. Declaración de una clase.  2.6. Paquetes.  2.7. Constructores.  2.8. Recolección de objetos.  2.9. Objeto que envía el mensaje: this.  2.10. Miembros static de una clase.  2.11. Clase Object.  2.12. Tipos abstractos de datos en Java.
  • 3. OBJETIVO Comprender mas a fondo todos los temas que viene en el libro y así poder aumentar nuestro conocimiento sobre las estructuras de datos y sus funciones para llevarlos a la practica.
  • 4.
  • 5. Son las herramientas mediante las cuales los diseñadores de lenguajes pueden implementar los modelos abstractos. La abstracción ofrecida por los lenguajes de programación se puede dividir en dos categorías: abstracción de datos (perteneciente a los datos) y abstracción de control (perteneciente a las estructuras de control).
  • 6. Abstracciones de control Los microprocesadores ofrecen directamente sólo dos mecanismos para controlar el flujo y ejecución de las instrucciones: secuencia y salto. Los primeros lenguajes de programación de alto nivel introdujeron las estructuras de control: sentencias de bifurcación (if) y bucles (for, while, do-loop, etc.). Las estructuras de control describen el orden en el que se ejecutan las sentencias o grupos de sentencia (unidades de programa). Las unidades de programa se utilizan como bloques básicos de la clásica descomposición “descendente”.
  • 7. 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. La abstracción de datos es una técnica muy potente que permite diseñar programas más cortos, legibles y flexibles. La esencia de la abstracción es similar a la utilización de un tipo de dato, cuyo uso se realiza sin tener en cuenta cómo está representado o implementado.
  • 8.
  • 9. Un tipo abstracto es un tipo de dato que consta de datos(estructuras de datos propias) y operaciones que se pueden realizar sobre ellos. Un TAD se compone de estructuras de datos y los procedimientos o funciones que manipulan esas estructuras de datos.
  • 10. Un tipo abstracto de datos puede definirse mediante la ecuación: TAD = Representación (datos) + Operaciones (funciones y procedimientos) Un tipo abstracto de datos es un modelo (estructura) con un número de operaciones que afectan a ese modelo.
  • 11.
  • 12. El objetivo de la especificación es describir el comportamiento del TAD; consta de dos partes, la descripción matemática del conjunto de datos y la de las operaciones definidas en ciertos elementos de ese conjunto de datos. La especificación del TAD puede tener un enfoque informal, que describe los datos y las operaciones relacionadas en lenguaje natural. Otro enfoque mas riguroso, la especificación formal, supone suministrar un conjunto de axiomas que describen las operaciones en su aspecto sintáctico y semántico.
  • 13. Especificación informal de un TAD Consta de dos partes: • Detallar en los datos del tipo los valores que pueden tomar. • Describir las operaciones relacionándolas con los datos. Especificación formal de un TAD La especificación formal proporciona un conjunto de axiomas que describen el comportamiento de todas las operaciones. La descripción ha de incluir una parte de sintaxis, en cuanto a los tipos de los argumentos y al tipo del resultado, y una parte de semántica, donde se detalla la expresión del resultado que se obtiene para unos valores particulares de los argumentos. La especificación formal ha de ser lo bastante potente para que cumpla el objetivo de verificar la corrección de la implementación del TAD.
  • 14.
  • 15. ¿QUÉ SON OBJETOS? En el mundo real, las personas identifican los objetos como cosas que pueden ser percibidas por los cinco sentidos. Los objetos tienen propiedades específicas, como posición, tamaño, color, forma, textura, etc. que definen su estado. Los objetos también poseen ciertos comportamientos que los hacen diferentes de otros objetos. Booch define un objeto como “algo que tiene un estado, un comportamiento y una identidad”.
  • 16. ¿QUÉ SON CLASES? En términos prácticos, una clase es un tipo definido por el usuario. Las clases son los bloques de construcción fundamentales de los programas orientados a objetos. Booch define una clase como “un conjunto de objetos que comparten una estructura y un comportamiento comunes”. Una clase contiene la especificación de los datos que describen un objeto junto con la descripción de las acciones que un objeto conoce cómo ha de ejecutar. Estas acciones se conocen como servicios o métodos. Una clase incluye también todos los datos necesarios para describir los objetos creados a partir de la clase. Estos datos se conocen como atributos, variables o variables instancia. El término atributo se utiliza en análisis y diseño orientado a objetos, y el término variable instancia se suele utilizar en programas orientados a objetos.
  • 17. La definición de una clase significa que se debe dar a la misma un nombre, dar nombre también a los elementos que almacenan sus datos y describir los métodos que realizarán las acciones consideradas en los objetos. Las definiciones o especificaciones no son un código de programa ejecutable. Se utilizan para asignar almacenamiento a los valores de los atributos usados por el programa y reconocer los métodos que utilizará el programa. Normalmente, se sitúan en archivos formando los denominados packages, se utiliza un archivo para varias clases que están relacionadas
  • 18.
  • 19. Una vez que una clase ha sido definida, un programa puede contener una instancia de la clase, denominada objeto de la clase. Un objeto se crea con el operador new aplicado a un constructor de la clase. Un objeto de la clase Punto inicializado a las coordenadas (2,1) sería: new Punto(2,1); El operador new crea el objeto y devuelve una referencia al objeto creado. Esta referencia se asigna a una variable del tipo de la clase. El objeto permanecerá vivo siempre que esté referenciado por una variable de la clase que es instancia. Edad f = new Edad();
  • 20.
  • 21. 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.lang o java.io, Con las clases básicas para construir programas: System, String, Integer ... package NombrePaquete;
  • 22. La sentencia package se utiliza para este cometido. En primer lugar se debe incluir la sentencia package como primera línea del archivo fuente de cada una de las clases del paquete. Por ejemplo, si las clases Lápiz, Bolígrafo y Folio se van a organizar formando el paquete escritorio, el esquema a seguir es el siguiente: // archivo fuente Lapiz.java package escritorio; public class Lápiz { // miembros de clase Lápiz } // archivo fuente Boligrafo.java package escritorio; public class Bolígrafo { // miembros de clase Bolígrafo } // archivo fuente Folio.java package escritorio; public class Folio { // miembros de clase Folio
  • 23. 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. Por ejemplo, la declaración de la clase Arte con atributos de la clase PrintStream (paquete java.io) y Lápiz (paquete escritorio): public class Arte { private java.io.PrintStream salida; private escritorio.Lapiz p; }
  • 24. La sentencia import facilita la selección de una clase, permite escribir únicamente su nombre, evitando el nombre del paquete. La declaración anterior se puede abreviar: import java.io.PrintStream; import escritorio.*; public class Arte { private PrintStream salida; private Lápiz p; } La sentencia import debe aparecer antes de la declaración de las clases, a continuación de la sentencia package.
  • 25.
  • 26. 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. Reglas 1. El constructor tiene el mismo nombre que la clase. 2. Puede tener cero o más argumentos. 3. No tiene tipo de retorno.
  • 27. Constructor por defecto Un constructor que no tiene parámetros se llama constructor por defecto. Un constructor por defecto normalmente inicializa los miembros dato de la clase con valores por defecto. Regla Java crea automáticamente un constructor por defecto cuando no existen otros constructores. Tal constructor inicializa las variables de tipo numérico (int, float ...) a cero, las variables de tipo boolean a true y las referencias a null.
  • 28. Constructores sobrecargados Al igual que se puede sobrecargar un método de una clase, también se puede sobrecargar el constructor de una clase. De hecho, los constructores sobrecargados son bastante frecuentes y proporcionan diferentes alternativas para inicializar objetos. Regla 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.
  • 29.
  • 30. this es una referencia al objeto que envía un mensaje, o simplemente, una referencia al objeto que llama un método (este no debe ser static). Internamente se define: final NombreClase this;
  • 31. Seleccionar explícitamente un miembro de una clase con el fin de dar mas claridad o de evitar colisión de identificadores. Por ejemplo: class Triangulo { private double base; private double altura; public void datosTriangulo(double base, double altura) { this.base = base; this.altura = altura; } // ... } Se ha evitado con this la colisión entre argumentos y variables instancia.
  • 32.
  • 33. 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.
  • 34. 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. Por ejemplo: public class Conjunto { private static int k = 0; static Totem lista = null; // ... }
  • 35.
  • 36. 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. Por 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.
  • 37. equals() Compara el objeto que hace la llamada con el objeto que se pasa como argumento, devuelve true si son iguales. boolean equals(Object k); El siguiente ejemplo compara dos objetos; la comparación es true si contienen la misma cadena. String ar = new String("Iglesia románica");
  • 38. toString() Este método construye una cadena, que es la representación del objeto, y devuelve la cadena. Normalmente, se redefine en las clases para dar así detalles explícitos de los objetos de la clase. String toString() Por ejemplo, un objeto Double llama al método toString() y asigna la cadena a una variable. Double r = new Double(2.5); String rp; rp = r.toString();
  • 39.
  • 40. Los tipos abstractos de datos (TAD) describen un conjunto de objetos con la misma representación y comportamiento. Los tipos abstractos de datos presentan una separación clara entre la interfaz externa de un tipo de datos y su implementación interna. La implementación de un tipo abstracto de datos está oculta. Por consiguiente, se pueden utilizar implementaciones alternativas para el mismo tipo abstracto de dato sin cambiar su interfaz. La especificación de un tipo abstracto de datos se puede hacer de manera informal, o bien, de forma mas rigurosa, una especificación formal. En la especificación informal se describen literalmente los datos y la funcionalidad de las operaciones.
  • 41. La especificación formal describe los datos, la sintaxis y la semántica de las operaciones, considerando ciertas operaciones como axiomas, que son los constructores de nuevos datos. Una buena especificación formal de un tipo abstracto de datos debe poder verificar la bondad de la implementación. En la mayoría de los lenguajes de programación orientados a objetos, y en particular en Java, los tipos abstractos de datos se implementan mediante clases.
  • 42. CONCLUSIONES Este capitulo trata mas que nada sobre las clases y objetos, sus métodos, sus atributos, como se declaran durante la ejecución de un programa para no poder tener errores trata mas que nada una recolección de información sobre los temas vistos el semestre anterior.