Está en la página 1de 125

Programación I

Programación Básica en Java


Agosto/Diciembre 2010

M.C.C. Jorge Alejandro Hernández Del Razo


Historia de Java
• Java no fue creado para Internet
• Sun Microsystems (en adelante Sun)
comenzó a desarrollarlo con el objetivo de
crear un lenguaje independiente de la
plataforma y del s.o.(portable) para el
desarrollo de electrónica de consumo
• El proyecto llevo el nombre de “Green”
apoyándose en C++

M.C.C. Jorge Alejandro Hernández Del Razo


Historia de Java
• Para evitar dificultades en 1991 decidieron
desarrollar su propio lenguaje orientado a
objetos bautizado como “Oak”
• Con el lanzamiento de Mosaic el interes
por Internet creció y se rediseño el
lenguaje para desarrollar aplicaciones
para Internet
• En 1995 Oak se convierte en Java

M.C.C. Jorge Alejandro Hernández Del Razo


Historia de Java
• En 1996 Sun lanza el entorno JDK 1.0
(Java Development Kit) primera versión
del kit de desarrollo de dominio público
que se convirtió en la primera
especificación formal de la plataforma
Java.
• En 1998 Sun lanza la plataforma Java 2
(que se conoció como Java 1.2 en beta)

M.C.C. Jorge Alejandro Hernández Del Razo


Características de Java
• Sencillo
– Sintaxis
– 2 tipos de datos primitivos: números y
boolean, todo en java son clases. Por ejemplo
una cadena es un objeto y no una cadena de
caracteres
• Distribuido
– La computación distribuida implica que varias
computadoras trabajen juntas en la red

M.C.C. Jorge Alejandro Hernández Del Razo


Características de Java
• Distribuido
– Facilita la construcción de aplicaciones
distribuidas mediante una colección de clases
– El acceso a un recurso utilizando URL es muy
similar al acceso a un archivo.
• Robusto
– Significa fiable, y para esto restringe áreas
clave, forzando la detección de errores
tempranos.

M.C.C. Jorge Alejandro Hernández Del Razo


Características de Java
• Robusto
– Principales errores:
• Gestión de memoria
• Condiciones excepcionales mal manejadas
• Seguro
– La seguridad absoluta no existe, aunque se
encuentran problemas de seguridad en Java,
éstos no son lo suficiente notables como para
producir trastornos

M.C.C. Jorge Alejandro Hernández Del Razo


Características de Java
• Multihilo
– La capacidad de un programa de ejecutar
varias tareas simultáneamente
• Orientado a objetos
– Java soporta las caracteristicas más
importantes de las tecnologías OO:
• Herencia, encapsulamiento y polimorfismo

M.C.C. Jorge Alejandro Hernández Del Razo


Características de Java
• Independiente de la arquitectura y
portable.

M.C.C. Jorge Alejandro Hernández Del Razo


Características de Java
• Se puede escribir un programa que se
ejecute en cualquier plataforma con una
maquina virtual Java (VJM)
• El compilador Java genera un código
intermedio llamado Bytecode

M.C.C. Jorge Alejandro Hernández Del Razo


Características de Java
• En cada plataforma se tiene su máquina
virtual, éstas interpretarán el Bytecode
pasándolo al código adecuado de la
computadora

M.C.C. Jorge Alejandro Hernández Del Razo


Características de Java

M.C.C. Jorge Alejandro Hernández Del Razo


Máquina Virtual de Java
• An imaginary machine that is implemented
by emulating it in software on a real
machine. Code for the JVM is stored in
.class files, each of which contains code
for at most one public class.

M.C.C. Jorge Alejandro Hernández Del Razo


SDK
• Software Development Kit
• Java Runtime Environmet(JRE)
– Java Virtual Machine
– Librerías de clases
• Herramientas de compilación, ejecución y
depuración de código
• Documentación de las librerías de clases
(API`s)

M.C.C. Jorge Alejandro Hernández Del Razo


Programación Básica en Java

Modulo 1. Identificadores, palabras reservadas y tipos de datos

Instituto Tecnológico de Roque

M.C.C. Jorge Alejandro Hernández Del Razo


Identificadores
• Un identificador es un nombre dado a una
variable, método o clase.
• En el lenguaje de programación de java,
un identificador comienza con una letra,
guión bajo(_), o un signo de pesos($);
puede ser de cualquier longitud y , puede
contener alguna secuencia de letras,
dígitos, guiones bajos, o signos de pesos.

M.C.C. Jorge Alejandro Hernández Del Razo


Identificadores
• Lo siguiente es una lista de identificadores
válidos. Aunque los cuatro son válidos, los
últimos dos identificadores tienen
aspectos no deseables:
– Identifier
– userName
– _sys_var1
– $change

M.C.C. Jorge Alejandro Hernández Del Razo


Identificadores
• El código fuente de programas escritos en
lenguaje de programación de Java es
efectivamente en Unicode.

M.C.C. Jorge Alejandro Hernández Del Razo


Punto y coma y Espacios en
blanco
• Punto y coma
– En el lenguaje de programación de java, una
declaración es una o mas líneas de código
terminadas con un punto y coma (;).
– Por ejemplo
• totals=a+b+c+d+e+f;
– Es igual que,
• totals=a+b+c+d
+e+f;

M.C.C. Jorge Alejandro Hernández Del Razo


Punto y coma y Espacios en
blanco
• Espacios en blanco
– Puedes tener espacio en blanco entre elementos del
código fuente. Cualquier cantidad de espacios en
blanco es permitida. Puedes usar espacios en
blanco, incluyendo espacios, tabuladores, y nuevas
líneas, para mejorar la apariencia visual de tu código
fuente.
• {
int x;
x =23+3;
}

M.C.C. Jorge Alejandro Hernández Del Razo


Comentarios
• Los comentarios son cadenas de texto
que el programador usa para entender y
hacer legible su código para otros
/*clasicoHolaMundo.java*/ Clásico de C

public class ClasicoHolaMundo{


/** Tipo javadoc
*Clasico programa Hola Mundo!!
**/

public static void main(String[] args){


//escribe por la salida estandar Una línea
System.out.println("Hola mundo!!");
}
}
M.C.C. Jorge Alejandro Hernández Del Razo
Palabras reservadas
• Palabras que pertenecen al lenguaje y
que no pueden utilizarse como nombres
de variables o clases

M.C.C. Jorge Alejandro Hernández Del Razo


Tipos de datos básicos (primitive)
• Java es un lenguaje fuertemente
tipificado, toda variable debe ser
declarada de un tipo

• Hay ocho tipos de datos básicos:


– Numéricos: Enteros y flotantes
– Carácter
– Booleano

M.C.C. Jorge Alejandro Hernández Del Razo


Tipos de datos básicos (primitive)
• La tecnología Java usa tipos de datos que
tienen predefinidos:
– Tamaño de almacenamiento
– Tipo de datos que almacenan
• Los tipos son:
– Tipos enteros – byte, short, int, y long
– Tipos de punto flotante – float y double (default)
– Tipo texto – char
– Tipos lógicos – boolean

M.C.C. Jorge Alejandro Hernández Del Razo


Tipo básico: entero
• En Java se puede considerar que hay
cuatro tipos de datos enteros: byte, short,
long e int.

M.C.C. Jorge Alejandro Hernández Del Razo


Tipos básico: coma flotante
• Los tipos de datos de coma (punto)
flotante representan números reales que
contienen una coma (punto) decimal.

M.C.C. Jorge Alejandro Hernández Del Razo


Tipo básico de texto: char
• Un char es cualquier elemento de un
conjunto de caracteres predefinidos o
alfabeto.
• Independencia del tipo de alfabeto: 30,000
caracteres, 16 bits del estándar Unicode.
• Usa comillas simples alrededor de
cualquier valor literal para asignarlo a una
variable char : ’t’

M.C.C. Jorge Alejandro Hernández Del Razo


Tipo básico lógico: boolean
• Representa un valor como falso o
verdadero
• Ejemplos:
– Asignar un valor literal a una variable boolean
(Los literales de la tecnología Java son true o
false)
– Expresiones booleanas: respuesta < 42

M.C.C. Jorge Alejandro Hernández Del Razo


Programación Básica en Java

Modulo 2. Expresiones y control de flujo

Instituto Tecnológico de Roque

M.C.C. Jorge Alejandro Hernández Del Razo


Creando variables: entero
• La forma más simple de una declaración
de variable en Java es poner primero el
tipo de dato y a continuación el nombre de
la variable:
• Tipo identificador = valor inicial;
ó
• Tipo identificador [, identificador];
identificador = valor inicial;
El operador = asigna valores.
M.C.C. Jorge Alejandro Hernández Del Razo
Creando variables: entero
• Por ejemplo:
• int valor = 99;

• int x, y;
• x=1; y=5;

• short x=1, y=5;

M.C.C. Jorge Alejandro Hernández Del Razo


Creando variables: coma flotante
• Las constantes de coma flotante Java las
considera por defecto de tipo doble. Por
ejemplo:
float t = 2.5;
Se comete un error al inicializar la variable t,
ésta es de tipo float y la constante es de tipo
double: la solución:
float t = 2.5F;

M.C.C. Jorge Alejandro Hernández Del Razo


Creando variables: char
• Los caracteres se almacenan
internamente como números.
– char letra=‘a’;

letra=65;

M.C.C. Jorge Alejandro Hernández Del Razo


Utilizando variables en un
programa
• Uso
– System.out.println(edad);
• Re – uso (asignar otro valor
posteriormente)
– edad = 12
• Combinar
int edad = 12;
int nuevaEdad;
nuevaEdad = edad;

M.C.C. Jorge Alejandro Hernández Del Razo


Estandarización de variables
• Se pueden combinar mayúsculas y
minúsculas
• La primer letra en minúscula
• Las palabras deben ir separadas con su
primer letra en mayúscula
• Las variables deben tener un significado
para lector casual.

M.C.C. Jorge Alejandro Hernández Del Razo


Constantes
• Para valores que no cambian una vez
asignados:
final double impuestoIva = 15.0;
• Use la palabra final para volverlo
inmodificable.
• El compilador mandara un mensaje de
error en caso de que se intente hacer un
cambio en el valor de una constante

M.C.C. Jorge Alejandro Hernández Del Razo


Convenciones sobre tipos básicos
• Tipo int vs long
– int i = 5;
– long l = 2324L;
• Tipo float vs double
– float f = 3.4523f
– double d = 3.4523d
– double d = 3.4523

M.C.C. Jorge Alejandro Hernández Del Razo


Convenciones sobre tipos básicos
• Decimales, octales y hexadecimales
– int i = 55; // DECIMAL
– int i = 055; // OCTAL
– int i = 0x55; // HEXADECIMAL

M.C.C. Jorge Alejandro Hernández Del Razo


Operadores

M.C.C. Jorge Alejandro Hernández Del Razo


Operadores

M.C.C. Jorge Alejandro Hernández Del Razo


Operador de asignación
• El operador de asignación es el simbolo =
• Cuando utilizamos el operador = debemos
considerar:
– Todos los números tienen signo.
– Los tipos de datos boolean pueden ser true o
false.
– Los operandos del lado izquierdo y derecho
de la asignación deben ser de tipos
compatibles.

M.C.C. Jorge Alejandro Hernández Del Razo


Operador de asignación

M.C.C. Jorge Alejandro Hernández Del Razo


Operadores aritméticos

•División entre operandos enteros da como un entero

M.C.C. Jorge Alejandro Hernández Del Razo


Operadores aritméticos

•El operador modulo se utiliza para obtener el resto de una división entera,
se utiliza principalmente con enteros.

M.C.C. Jorge Alejandro Hernández Del Razo


Operadores aritméticos

M.C.C. Jorge Alejandro Hernández Del Razo


Operadores aritméticos

M.C.C. Jorge Alejandro Hernández Del Razo


Operador unario de asignación

M.C.C. Jorge Alejandro Hernández Del Razo


Operador unario de asignación

M.C.C. Jorge Alejandro Hernández Del Razo


Operador unario de asignación

M.C.C. Jorge Alejandro Hernández Del Razo


Operador unario de asignación

M.C.C. Jorge Alejandro Hernández Del Razo


Precedencia de operadores
• Reglas de precedencia:
– Contenido de paréntesis
– Multiplicación y división, de izquierda a derecha
– Sumas y restas
• Expresiones complejas:
– c = 25 - 5 * 4 / 2 - 10 + 4;
– Resultado de izquierda a derecha: 34
– Resultado de acuerdo a las reglas de precedencia: 9

• Uso de paréntesis para indicar la estructura


explícitamente

I.S.C. Jorge Alejandro Hernández Del Razo


Ejemplos de incompatibilidad de
datos y tipos de datos
• Dato a la derecha es menor que el de la
izquierda:
– byte numero1 = 53;
– byte numero2 = 47;
– long numero3;
– numero3 = numero1 * numero2;

I.S.C. Jorge Alejandro Hernández Del Razo


Ejemplos de incompatibilidad de
datos y tipos de datos
• Dato a la derecha mayor que el de la
izquierda:
– int numero1 = 53;
– int numero2 = 47;
– byte numero3;
– numero3 = (numero1 + numero2);

I.S.C. Jorge Alejandro Hernández Del Razo


Ejemplos de incompatibilidad de
datos y tipos de datos
• Dato y tipo a la derecha mayor que el de
la izquierda:
– int numero1 = 53;
– int numro2 = 47;
– byte numero3;
– numero3 = numero1 * numero2;

I.S.C. Jorge Alejandro Hernández Del Razo


Promoción
• Sucede automáticamente cuando:
– Asignamos un tipo menor a un tipo mayor
– Asignamos tipo int a tipo long
• Asignamos tipos enteros a tipos de punto
flotante
long big = 6; // legal
int small = 99L; // ilegal

I.S.C. Jorge Alejandro Hernández Del Razo


Conversión de tipos(cast)

• Disminuye el rango de valores (“recortar")


– identificador_variable = (tipo_destino) valor
• int numero1 = 53;
• int numero2 = 47;
• byte numero3;
• numero3 = (byte) (numero1 + numero2); // No se pierden
datos
• int myInt;
• long myLong = 99L;
• myInt = (int) (myLong); // no se pierden datos, ceros.
• int myInt;
• long myLong = 123987654321L;
• myInt = (int) (myLong); // Número pierde exactitud

I.S.C. Jorge Alejandro Hernández Del Razo


Conversión de tipos
• Convirtiendo tipos puntos flotante en
enteros remueve los valores a la derecha
del punto decimal

I.S.C. Jorge Alejandro Hernández Del Razo


Tipos de datos enteros y flotantes
• Sumando tipos enteros usando +
convierte tipos de datos primitivos a int (o
superior).
• short a, b, c;
• a=1;
• b=2;
• c=a+b;

I.S.C. Jorge Alejandro Hernández Del Razo


Tipos de datos enteros y flotantes
• Los valores de punto flotante son por
defecto double si no especificas que sean
floats.
• float float1 = 27.9; // causa error
• float float1 = 27.9F; // correcta
• float float1 = (float) 27.9; // correcta

I.S.C. Jorge Alejandro Hernández Del Razo


Strings
• Las cadenas no son tipos de datos básico
• Tiene ciertas funcionalidades que hacen
que su uso sea comparable a los tipos
básicos
• Declaración:
– String s = “”; // Cadena vacía
– String s1 = “Hola”;
– String s2 = “Adios”;

I.S.C. Jorge Alejandro Hernández Del Razo


Strings
• Concatenación:
– String s3 = s1 + “ y ” + s2 //s3 = “Hola y Adios”

I.S.C. Jorge Alejandro Hernández Del Razo


Estructuras de control
• if ESTRUCTURAS DE SELECCION
– Se ejecuta o no una sentencia o bloque de
sentencias según se cumpla o no una
determinada condición
if (condición) {
sentencias
}

I.S.C. Jorge Alejandro Hernández Del Razo


Estructuras de control
• if - else ESTRUCTURAS DE SELECCION
if (condición) {
sentencias
} else if (condición) {
sentencias
} else {
sentencias
}

I.S.C. Jorge Alejandro Hernández Del Razo


Estructuras de control
• ( ? : ) ESTRUCTURAS DE SELECCIÓN

Se relaciona con la estructura if-else. Este es el unico operador de


Java que requiere tres operandos. El primer operando es una
expresión booleana, el segundo es el valor que tomará la expresión
si el primer operando es verdadero y el tercer operando si es falso.

valor = (condición booleana ? valor si verdadero : valor si falso )

System.out.print(“El número mayor es el de valor “);


System.out.println ( a > b ? a : b );

I.S.C. Jorge Alejandro Hernández Del Razo


Estructuras de control
• switch ESTRUCTURAS DE SELECCIÓN
Es una estructura de selección múltiple. Permite la
selección de una sentencia o conjunto de sentencias
entre múltiples casos.
switch (expresion) {
case valor1:
sentencias;
break;
case valor2:
case valor3:
sentencias;
break;
.......
default :
sentencias;
break;
}

I.S.C. Jorge Alejandro Hernández Del Razo


Estructuras de control
• expresión debe ser de tipo int, byte, short o char

I.S.C. Jorge Alejandro Hernández Del Razo


Estructuras de control
• do while ESTRUCTURAS DE REPETICION
• Una sentencia o grupo de sentencias se repiten
mientras se cumpla una determinada condición. En esta
estructura la condición se evalúa después de ejecutar
las sentencias.

do {
sentencias
} while (condición)

I.S.C. Jorge Alejandro Hernández Del Razo


Estructuras de control
• for ESTRUCTURAS DE REPETICION
• Permite repetir una sentencia o un bloque de sentencias
un número de veces determinado.

for ( iniciación ; condición ; actualización ) {


sentencias
}

for (int i = 0 ; i < 5 ; i++) {


System.out.print ( i );
System.out.println (“Hola a todos. “);
}

I.S.C. Jorge Alejandro Hernández Del Razo


Estructuras de control
• El método main es la primera operación
que se ejecuta en un programa Java.
• Declaración:
– public static void main(String[] args)
– Se encarga de poner en marcha el programa
– Solo puede haber uno.

I.S.C. Jorge Alejandro Hernández Del Razo


Ejercicios
• Construya un programa que convierta de
grados Fahrenheit a grados centígrados y
viceversa
• F = (9/5)*C + 32
• C = (5/9)*(F -32)
• Compruebe sus resultados para:
• F = 212
• F = 500
• C = 100
• C = 500

I.S.C. Jorge Alejandro Hernández Del Razo


Ejercicios
• Escriba un programa que convierta un
número decimal a hexadecimal

I.S.C. Jorge Alejandro Hernández Del Razo


Ejercicios
• Algo más de cadenas…….

I.S.C. Jorge Alejandro Hernández Del Razo


Programación Básica en Java

Modulo 3. Arreglos

Instituto Tecnológico de Roque

I.S.C. Jorge Alejandro Hernández Del Razo


El problema: creando muchas
variables del mismo tipo

I.S.C. Jorge Alejandro Hernández Del Razo


El problema: creando muchas
variables del mismo tipo
• Desventajas:
– Se vuelven inmanejables
– Es tedioso
– Duplica el trabajo
– Requiere identificadores únicos para cada
variable

I.S.C. Jorge Alejandro Hernández Del Razo


La solución: arreglos
• Los arreglos te permiten almacenar tantos
valores como necesites
• Los arreglos pueden contener tipos
básicos o tipos referencia
char [] grupos;// arreglo de char
int [] edades;// arreglo de int
String [] nombres;// arreglo de String
Alumno [] alumnos;// arreglo de Alumno

• Los Arreglos son referencias a objetos.

I.S.C. Jorge Alejandro Hernández Del Razo


Creando arreglos de tipos básicos
• Tres pasos:
– Declarar
– Instanciar
– Inicializar

I.S.C. Jorge Alejandro Hernández Del Razo


Declarando arreglos de tipos
primitivos
• tipo [] identificador_arreglo;

• tipo identificador_arreglo [];

int [] edades;
char grupos[];

I.S.C. Jorge Alejandro Hernández Del Razo


Instanciando arreglos básicos
• Solo instanciando
identificador_arreglo = new tipo [longitud];
grupos = new char [20];
edades = new int [5];
• Declarando e instanciando en la misma
sentencia
tipo [] identificador_arreglo = new tipo [longitud];
char [] grupos = new char [20];
int [] edades = new int [5];

I.S.C. Jorge Alejandro Hernández Del Razo


Inicializando arreglos básicos
• identificador_arreglo[indice] = valor;

int [] edades;
edades = new int[ 5];
edades[ 0] = 12;
edades[ 1] = 14;
edades[ 2] = 15;
edades[ 3] = 12;
edades[ 4] = 10;

I.S.C. Jorge Alejandro Hernández Del Razo


Declarando, inicializando e
instanciando arreglos básicos
• tipo [] identificador_arreglo = {lista de valores
separada por comas o expresión};

int [] edades = {12, 14, 15, 12, 10};

int [] edades;
edades = {12, 14, 15, 12, 10}; // no es válido,
//solo la primera sintaxis

I.S.C. Jorge Alejandro Hernández Del Razo


Operaciones con arreglos
• Sintaxis
– identificador_arreglo[índice]
• Asignando una literal a un elemento del
arreglo
• grupos [0] = ’A’;
• nombres [1] = “Juan";
• edades [1] = 19;
• calificaciones [2] = 9.99F;
• Asignando un elemento del arreglo a una
variable
• int i = edades[ 3];

I.S.C. Jorge Alejandro Hernández Del Razo


Como son almacenados los
arreglos en memoria
• Todos los arreglos son objetos

• Declarando un arreglo se declara


variables referencia

I.S.C. Jorge Alejandro Hernández Del Razo


Limites del arreglo
• Un arreglo es un objeto y un objeto
conoce su estado
• Entonces, una arreglo conoce su longitud
• El número de elementos en un arreglo es
almacenado como parte de objeto array
• El intentar de acceder un elemento del
arreglo que no existe causa un error

I.S.C. Jorge Alejandro Hernández Del Razo


Encontrando la longitud del arreglo
• Puedes determinar la longitud de un
arreglo en tiempo de ejecución usando la
variable miembro length
• identificador_arreglo.length
• float salesAmounts[] = new float [12];
• Caminando a través del arreglo:
float salesAmounts[] = new float [12];
for (int i = 0; i < salesAmounts. length; i= i+ 1)
{
loop_statements
}

I.S.C. Jorge Alejandro Hernández Del Razo


Colocando valores a un arreglo con
un ciclo
• Colocar valores específicos para cada
elemento puede ser tedioso

• Un ciclo puede hacerlo automáticamente


para valores incrementales

I.S.C. Jorge Alejandro Hernández Del Razo


Colocando valores a un arreglo con
un ciclo

I.S.C. Jorge Alejandro Hernández Del Razo


Arreglos bidimensionales
• Como una hoja de cálculo, con líneas y
columnas
• Misma sintaxis que arreglos
unidimensionales, excepto por un conjunto
adicional de corchetes

I.S.C. Jorge Alejandro Hernández Del Razo


Arreglos bidimensionales
• tipo [][] identificador = new tipo [tamaño_1][tamaño_2];

• int [] calificacionesMensuales = new int[12];

• int [][] calificacionesMensualesGrupo = new int[numeroAlumnos][ 12];

I.S.C. Jorge Alejandro Hernández Del Razo


Arreglos unidimensionales y
multidimensionales
• Ejemplo………

I.S.C. Jorge Alejandro Hernández Del Razo


Programación Básica en Java

Modulo 4. Clases y Objetos

Instituto Tecnológico de Roque

I.S.C. Jorge Alejandro Hernández Del Razo


Clase
• Una clase es un tipo definido por el
usuario
• Las clases son bloques de construcción
fundamentales de los programas
orientados a objetos.
• Booch –un conjunto de objetos que
comparten una estructura y un
comportamiento---

I.S.C. Jorge Alejandro Hernández Del Razo


Definición de una clase
• Antes de crear un objeto de cualquier
clase, la clase debe ser definida
• Para declarar una clase hay que utilizar
la palabra reservada class
• El cuerpo de la clase incluirá entre {} sus
atributos y métodos.

I.S.C. Jorge Alejandro Hernández Del Razo


Definición de una clase
• Los atributos pueden ser de tipos
primitivos y su declaración es similar a la
vista en los días pasados.

I.S.C. Jorge Alejandro Hernández Del Razo


Definición de una clase
• Para definir el comportamiento de una
clase (es decir, lo que va hacer) hay que
añadir métodos a la clase. Los métodos
son rutinas de código, definidas dentro
del cuerpo de una clase que se ejecutan
en respuesta a alguna acción llevada a
cabo por el objeto.

I.S.C. Jorge Alejandro Hernández Del Razo


Definición de una clase
Nombre de la clase

Atributos

Constructor

Método

I.S.C. Jorge Alejandro Hernández Del Razo


Definición de un método
Nombre del método
Dominio de retorno
acceso Dominio y declaración de
parámetros

Respuesta al llamado

Cuerpo del método

I.S.C. Jorge Alejandro Hernández Del Razo


Creando variables de referencia a
objetos
• Hay tres pasos:
a. Declarar una referencia a un objeto
• NombreClase variable;
b. Crear un objeto
• Variable = new NombreClase();
c. Asignar valores

• NombreClase variable = new NombreClase();

I.S.C. Jorge Alejandro Hernández Del Razo


Creando variables de referencia a
objetos
• Ejemplo……..

I.S.C. Jorge Alejandro Hernández Del Razo


Creando variables de referencia a
objetos

I.S.C. Jorge Alejandro Hernández Del Razo


Creando variables de referencia a
objetos

I.S.C. Jorge Alejandro Hernández Del Razo


Creando variables de referencia a
objetos
• Una clase es una plantilla, que define las
características y habilidades generales
de un objeto. Los objetos, al definirse
dentro de un código corresponden a
ejemplares de esas clases.

I.S.C. Jorge Alejandro Hernández Del Razo


Creando variables de referencia a
objetos
• Ejemplo……..con encapsulamiento

I.S.C. Jorge Alejandro Hernández Del Razo


Creando variables de referencia a
objetos

I.S.C. Jorge Alejandro Hernández Del Razo


Creando variables de referencia a
objetos

I.S.C. Jorge Alejandro Hernández Del Razo


Encapsulamiento
• El principio de encapsulamiento significa
que las estructuras de datos internas
utilizadas en la implementación de una
clase no pueden ser accesibles
directamente al usuario de la clase.
• Los atributos solo pueden ser accedidos
dentro del objeto.
• Existen métodos públicos para acceder a
los atributos

I.S.C. Jorge Alejandro Hernández Del Razo


Constructor
• Un constructor es un método especial de
una clase que es llamado
automáticamente siempre que se crea
un objeto de la clase. Su función es
iniciar un objeto. Un constructor se
distingue fácilmente porque tiene el
mismo nombre que la clase a la que
pertenece y no puede retornar ningún
valor.
I.S.C. Jorge Alejandro Hernández Del Razo
Constructor

I.S.C. Jorge Alejandro Hernández Del Razo


Constructor
• Ejemplo…… con constructor

I.S.C. Jorge Alejandro Hernández Del Razo


Constructor

I.S.C. Jorge Alejandro Hernández Del Razo


Constructor

I.S.C. Jorge Alejandro Hernández Del Razo


Sobrecarga
• Del constructor

I.S.C. Jorge Alejandro Hernández Del Razo


Sobrecarga

I.S.C. Jorge Alejandro Hernández Del Razo


Sobrecarga

I.S.C. Jorge Alejandro Hernández Del Razo


Sobrecarga
• Del método….

I.S.C. Jorge Alejandro Hernández Del Razo


Sobrecarga

I.S.C. Jorge Alejandro Hernández Del Razo


Sobrecarga

I.S.C. Jorge Alejandro Hernández Del Razo


Arreglo de referencias
• Ejercicio…..

I.S.C. Jorge Alejandro Hernández Del Razo


Programación Básica en Java

Modulo 5. Herencia

Instituto Tecnológico de Roque

I.S.C. Jorge Alejandro Hernández Del Razo


Herencia
• La herencia o la relación es-un es la
relación que existe entre dos clases, en
la que una clase denominada derivada
se crea a partir de otra ya existente,
denominada clase base.

I.S.C. Jorge Alejandro Hernández Del Razo


Herencia
• Este concepto nace de la necesidad de
construir una nueva clase y existe una
clase que representa un concepto más
general; en éste caso, la nueva clase
puede heredar de la clase ya existente.

I.S.C. Jorge Alejandro Hernández Del Razo


Herencia

I.S.C. Jorge Alejandro Hernández Del Razo


Herencia

I.S.C. Jorge Alejandro Hernández Del Razo


Sintaxis
• La Sintaxis para la declaración de una
clase derivada:

Class ClaseDerivada extends ClaseBase


{
sentencias_subclase
}

I.S.C. Jorge Alejandro Hernández Del Razo


Sintaxis
• La clase base es el nombre de la clase
de la que se deriva la nueva clase. Los
miembros private de la clase base son
los únicos que no hereda la clase
derivada, no se puede acceder a ellos
desde métodos de clase derivada

I.S.C. Jorge Alejandro Hernández Del Razo