Unidad 01
Conceptos Previos
ESTRUCTURA DE DATOS
Registros o Estructuras
Estructura: Es un grupo de variables las cuales pueden ser de diferentes tipos sostenidas o mantenidas juntas en una sola unidad. La unidad es la estructura
En C sería:Struct Fraccion {
int numerador; int denominador;
};
Fraccion N1,N2;
En Java no aplica.
Registros o Estructuras
Registro: Combinación de Datos Heterogéneos en una Estructura única con Clave definida.
Registros o Estructurasimport java.io.*;
public class Registros {public static void main(String[] args) {
alumno.inicializar();alumno.desplegar();
}}class alumno{
static String nombre= new String();static int edad;
void alumno(){}; static void inicializar(){
alumno.nombre="Profesor";alumno.edad=28; };
static void desplegar(){System.out.println(alumno.nombre);System.out.println(alumno.edad);
};}
Registros o Estructuras
Registros cuando se utilizan
1. En Estructuras de Datos2. En Archivos Planos3. En Bases de Datos
Registros o EstructurasRegistros cuando se utilizanEn Archivos Planos
0020201002108359815H000410000753500000100109931178H000410000731500000100118753458H000410000546100000100112756479H000410000731500000100115276794H000410000731500000100Tipo Registro 0 - Identificación Campos Descripción del Campo Tipo Largo Desde Hasta Tipo de Registro Identifica contenido del Registro N 1 1 1 CodEmp Código empresa a capturar N 3 2 4 Año Año de proceso N 4 5 8 Mes Mes de proceso N 2 9 10 Tipo Registro 1 – Haberes Campos Tipo Registro Identifica contenido del registro =1 N 1 1 1 Rut Rut Trabajador N 8 2 8 TipoHaber H = Haber / D = Descuento C 1 9 9 CodHaber Código > 0 N 4 10 13 NumMov Número de Movimiento N 1 14 14 Monto Monto del Haber N 8 15 22
Registros o EstructurasRegistros cuando se utilizanEn Archivos Planos
0020201002108359815H000410000753500000100109931178H000410000731500000100118753458H000410000546100000100112756479H000410000731500000100115276794H000410000731500000100
Tipo Registro 0 - Identificación Campos Descripción del Campo Tipo Largo Desde Hasta Tipo de Registro Identifica contenido del Registro N 1 1 1 CodEmp Código empresa a capturar N 3 2 4 Año Año de proceso N 4 5 8 Mes Mes de proceso N 2 9 10 Tipo Registro 1 – Haberes Campos Tipo Registro Identifica contenido del registro =1 N 1 1 1 Rut Rut Trabajador N 8 2 8 TipoHaber H = Haber / D = Descuento C 1 9 9 CodHaber Código > 0 N 4 10 13 NumMov Número de Movimiento N 1 14 14 Monto Monto del Haber N 8 15 22
Registros o EstructurasRegistros cuando se utilizanEn Bases de Datos
AfpCodigo AfpDescrip
1 HABITAT
2 SANTA MARIA
3 PROVIDA
4 MAGISTER
5 SUMMA BANSANDER
6 CUPRUM
7 PLAN VITAL
10 JUBILADOS
11 JUBILADO AFP
12 ING CAPITAL
Clases y Objetos
Objeto: Cualquier cosa , real o abstracta, que almacena datos y Posee métodos u operaciones que manipulan datos.
Clase: Es definida por un usuario y corresponde a un conjunto de objetos que comparten una estructura y un Comportamiento común.
Clases y Objetos
Declaración de una Clase
FormatoClass NombreClase{
lista_de_miembros;
};
Nombre definido por el usuario que identifica la clase(puede incluir letras, números y subrayados)
Métodos y datos miembros de la clase
Clases y ObjetosEjemplo
Class Punto{ private int x; //Coordenada X private int y; //Cordenada Y public Punto(int x_,int y_) //Constructor { x=x_; y=y_; } public Punto() //Constructor sin Argumentos { x=y=0; } public int leeX() //devuelve el valor x { return x; }
Clases y ObjetosEjemplo
public int leeY() //devuelve el valor y { return y; }Void fijarX(int valorX) //establece el valor de x{ x=ValorX;}Void fijarY(int valorY) //establece el valor de y{ y=ValorY;}
} //Fin Clase Punto
Clases y ObjetosFormato para definir una referencia
NombreClase varReferencia;
Formato para Crear un Objeto
varReferencia= new NombreClase(argumentos_constructor);
Forma de acceder a un miembro de la clase (.)
Punto p;P= new Punto(); //Se crea objeto con valores por defecto 0p.fijarX(100);System.out.println(“ Coordenada x es ” + p.leerX());
Clases y ObjetosVisibilidad de los Miembros de la Clase
Public: se puede acceder por cualquier método desde fuera de la clase.
Private: se puede acceder por métodos de la misma clase.
Protected: se puede acceder por métodos de la misma clase o clases derivadas, así como por métodos de otras clases que se encuentran en el mismo paquete.
Class NombreClase{ private edadprivada; public edadpublica; protected edadprotegida;}
Formato
Clases y ObjetosEjemplo
Declaración de Clase Foto y Marco con miembros con distinta visibilidad. Ambas clases forman parte del paquete soporte.
Package soporte;Class Foto{ private int nt; private char opd; string q; public Foto(String r) //Constructor { nt=0; opd= ‘S’; q=new String(r); } public double mtd(){…}}
Class Marco{ private double p; string t; public Marco(){…} public void poner() { Foto u= new Foto(“Paloma”); p=u.mtd(); t=“**” + u.q + “**”; }}
Clases y ObjetosMétodos de una ClaseLos Métodos son miembros de las clases, no hay métodos o Funciones fuera de las clases. La implementación de los métodosSe incluyen dentro del cuerpo de la clase.
Class Producto
{ private int numProd; private String nomProd; private String descripProd; private double precioProd; private int numUnidades;
public Producto(){…}
public Producto(int n,char[]nom,char[]des,double p, int nu ){}
public void verProducto(){…}
public double obtenerPrecio(){…}
public void actualizarProd(int b){…}
}
Nombre de la Clase
Declaraciones para almacenamiento de datos
Acceso para almacenamiento de datos
Métodos
Clases y ObjetosClase Pública
Se debe incluir el prefijo Public en la cabecera de la Clase, si no se incluye el prefijo, entonces estará restringida a ser utilizada por sólo por aquellas clases que pertenezcan al mismo paquete.
Public class Examen{ miembros de la clase}
class Examen{ miembros de la clase}
Clase Pública
Clase Restringida
Clases y ObjetosPaquetes
Son la forma que tiene Java de organizar los archivos con las clasesNecesarias para construir las aplicaciones. Java incorpora varios Paquetes, por ejemplo java.lang o java.io, con las clases básicas paraConstruir programas: System, String, Integer..
Package Nombrepaquete;Formato //archivo fuente Lapiz.java
Package escritorio;
Public class Lapiz{ //Miembros de Clase Lapiz}//archivo fuente Boligrafo.javaPackage escritorio;Public class Boligrafo{ //Miembros de Clase Boligrafo}
Clases y ObjetosPaquetes
Una vez creado el archivo fuente de cada clase del paquete, se Deben ubicar cada uno en un subdirectorio con el mismo nombreQue el del paquete. De acuerdo al ejemplo los archivos Lapiz.java y Boligrafo.java se deben ubicar en la ruta de escritorio.
Beneficios
1) De visibilidad, son menores entre clases que están dentro delMismo paquete. Desde cualquier clase de un paquete los miembrosProtected y los miembros sin modificador de visibilidad son Accesibles, pero no lo son desde clases de otros paquetes2) La selección de las clases de un paquete se puede abreviar conLa sentencia import del paquete.
Clases y ObjetosImport
Las clases que se encuentran en los paquetes se identifican utilizandoEl nombre del paquete, el selector punto (.) y a continuación, el Nombre de la clase.
Import identificadorpaquete.nombreClase; Import identificadorpaquete.*
FormatoClase Concreta
Incluye todas las Clases del paquete
Clases y ObjetosConstructores
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.
1- Tiene el mismo nombre de la Clase.
2- Puede tener cero o más argumentos.
3- No tiene tipo de retorno.
Reglas
Clases y ObjetosConstructoresPublic class Rectangulo{ private int izdo; private int superior; private int dcha; private int inferior; //Constructor public Rectangulo(int iz,int sr,int d, int inf) { izdo=iz; superior= sr; dcha=d; inferior=inf; } // Definiciones de Otros Métodos miembro}
Rectangulo Rect= new Rectangulo(25,75,25,75);
Clases y ObjetosConstructor por DefectoUn Constructor que no tiene parámetros se llama Constructor por defecto. Este inicializa los miembros dato de la clase con valores por defecto.
Public class Punto{ private int x; private int y; public Punto() //Constructor por defecto { x=0; y=0; }}
Punto P1= new Punto(); //P1.x=0 y P1.y=0