Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Como un conjunto de cosas (que llamaremos objetos). Estos objetos pueden ser
simples o complejos y/o reales o imaginarios.
Ejemplos de objetos:
Una pelota de futbol, una pelota de tenis, una pelota de golf, una pelota de
bsquet.
Un automvil Nissan, un automvil Ford, un automvil Mercedes Benz, etc.
Un profesor de primaria, un profesor de secundaria, un profesor
universitario, etc.
Un objeto profesor primaria, representa detalles y actividades de una
persona, no es esa persona en si misma sino su representacin. Es
imaginario.
Un botn de programacin con el texto Salir como etiqueta, un botn con
el texto calcular, pero de diferente tamao que el anterior, un botn de
color rojo y sin etiqueta.
DEFINICION DE UN OBJETO
Ejemplo:
m
Caractersticas o atributos o datos
Color
Placa
Velocidad
Acciones o comportamiento
Avanzar
Detener
Acelerar
Voltear a la derecha
Voltear a la izquierda.
Caractersticas o atributos
El texto que identifica el propsito del botn.
El tamao del botn.
Color
Acciones o comportamiento
Se necesita un clic sencillo o doble clic para ser usado
Qu hacer cuando se hace un clic en el Botn.
Ejemplo:
m
Todos los profesores se agrupan, en la clase Profesor.
Todos los botones se agrupan, en la clase Button.
La clasificacin es arbitraria y est en funcin del problema que se desea
resolver.
Ejemplo:
Si agrupamos todas las cosas que se ocupan del traslado de un sitio a otro
tendremos la clase Transporte. Esta clase puede incluir: objetos tren, objetos coche
o incluso objeto caballo.
Ejemplos:
m
De la clase Botn se pueden crear botones. Todos los objetos botn
tomaran las caractersticas bsicas de un botn tal como se define en su
clase, pero cada uno podra tener una apariencia y comportamientos
distintos basados en lo que el botn podra hacer.
OBJETO
Ejemplos:
Clase Libro
Clase Pizarra
Clase Tiza
Clase Diploma
Clase Borrador
Clases y Objetos
Una clase es un proyecto o prototipo que se puede utilizar para crear muchos
objetos. Constituyen la estructura bsica sobre la que se desarrollaran las
aplicaciones.
Una clase es similar a una estructura de datos en C++, excepto por el hecho de
que hay dos mejoras importantes:
m
SINTAXIS GENERAL DE UNA CLASE
Una clase se declara especificando los datos que contiene y el cdigo que opera
sobre estos datos. Las clases ms sencillas pueden contener solamente cdigo o
solamente datos.
class NombreDeLaClase {
tipo variabledeinstancia1;
tipo variabledeinstancia2;
.
tipo variabledeinstanciaN;
Al conjunto de los mtodos y las variables definidas dentro de una clase se le llama
miembros de la clase, el cdigo est contenido en los mtodos.
Ejemplo: Declarar una clase llamada Caja que represente las dimensiones de una
caja.
class Caja { // Esta declaracin crea una plantilla. No crea un objeto real.
double ancho; // tres variables de instancia
double alto:
double largo;
}
La clase define un nuevo tipo de dato que se llama Caja. Este nombre se va
a utilizar para declarar objetos de la clase Caja.
OBJETO
Es una variable cuyo tipo de dato es una clase, para declarar un objeto es
exactamente igual que declarar una variable que va a contener un tipo primitivo:
tipo nombre;
Ejemplo:
m
Caja miCaja; // declara el objeto miCaja
La declaracin de una variable no crea el objeto, La variable solo almacena una
referencia (un puntero) al objeto. Esta referencia es la direccin de la posicin de
memoria donde se almacena el objeto.
Para crear un objeto se usa el operador new que devuelve la referencia al objeto.
Ejemplos:
1. Caja miCaja; // declara el objeto miCaja
miCaja = new Caja( ); // crea el objeto miCaja
Cuando se ejecute esta sentencia miCaja ser una referencia a una instancia de
Caja y ser una realidad fsica.
Cada vez que se crea una instancia de una clase se estar creando un objeto que
contiene su propia copia de cada variable de instancia definida por la clase.
objeto.nombreMetodo();
Al objeto miCaja se puede acceder a las variables ancho, alto, largo con:
miCaja.ancho
miCaja.alto
miCaja.largo
Ejemplo:
METODO
m
Es equivalente a una funcin con la diferencia que el mtodo forma parte de una
clase. Sintaxis general:
Tipo nombreDelMetodo (Lista de parmetros){
Tipo: Indica el tipo de dato que devuelve el mtodo. Puede ser cualquier tipo vlido
(int, float, double, char, boolean, etc) incluyendo los tipos clases creados por el
programador. Cuando el mtodo no devuelve ningn valor su tipo de dato debe ser
void.
Los mtodos que devuelven un tipo diferente del tipo void utilizan la sentencia:
return valor; para devolver el valor al lugar desde donde se efectu la llamada.
Paso de Parmetros
Hay dos formas en que se pueden pasar parmetros a una funcin: Valor y
Referencia.
Por Valor
Pasar parmetros por valor significa copiar los parmetros actuales en sus
correspondientes parmetros formales, con los cual no se modifica los parmetros
actuales.
Se puede modificar el valor del argumento formal dentro de la funcin, pero el
valor del argumento actual en el punto de llamada no cambiar.
m
} a =10;
System.out.println("Antes de la Llamada a = " + a);
v.porValor(a);
System.out.println("Despues de la Llamada a= " +
a);
}
}
Por referencia Cuando se pasa objetos a una funcin los parmetros pasados de
esta manera se dice que son pasados por referencia, cualquier cambio de valor que
sufra un parmetro dentro de la funcin, tambin se produce en el parmetro
actual correspondiente de la llamada a la funcin.
A) Parmetro Actual:
Pasar la direccin de la variable de tipo objeto.
Nfuncin(nvo);
Nombre de la variable de tipo objeto
Nombre de la funcin
B) El correspondiente parmetro formal:
Debe de ser un objeto de tipo clase
m
public class Referencia { public class aplicaRefrencia {
int a; public static void main(String[] args) {
void porReferencia(Referencia r) { Referencia r = new Referencia();
r.a = 10;
r.a = r.a+1;
System.out.println("Antes de la Llamada a = " + r.a);
} r.porReferencia(r);
} System.out.println("Despues de la Llamada a=" + r.
a);
}
}
Lnea de detalle
Realizando el pseudocdigo:
Inicio
Real:promPracticas,exaParcial,exaFinal
Real:pf
String cdigo,apellidos,curso
Escribir(ingrese cdigo)
Leer(cdigo)
Escribir(ingrese apellidos, nombres)
Leer(apellidos)
Escribir(ingrese nombre de curso)
Leer(curso)
Escribir(ingrese promedio de practicas)
Leer(promPractica)
Escribir(ingrese examen parcial)
Leer(exaParcial)
Escribir(ingrese examen final)
Leer(exaFinal)
pf=(promPracticas+exaParcial+exaFinal)/3 calcularPromedio
Escribir(cdigo,nombre,curso,promPracticas,exaParcial+exaFinal+pf)
Fin
imprimeDetalle
Nota.-
calcularPromedio()
imprimirDetalle()
Para poner los nombres a cada uno le ponemos calcula, seguido de lo que
hace cada modulo
El calcula promedio le ponemos: calcularPromedio()
m
La segunda imprime detalle entonces le ponemos: imprimirDetalle()
package ejemplosBasicos;
public class Alumno {
String codigo;
String apellidos;
String curso;
double promPractica;
double exaParcial;
double exaFinal;
double prom;
void calcularPromedio(){
prom=(promPractica+exaParcial+exaFinal)/3;
prom=Math.round(prom);
}
void imprimeDetalle(){
System.out.print(codigo+" "+ apellidos+" "+promPractica+" "+exaParcial+"
"+exaFinal+" "+prom);
}
Ir a la pestaa Refactor
m
Click a la opcin Encapsulate Fields, obtenemos:
m
Cdigo fuente de la clase ejecuta Alumno
package ejemplosBasicos;
import java.util.Scanner;
public class ejecutaAlumno {
public static void main(String[] args) {
Alumno x=new Alumno();
Scanner entrada=new Scanner(System.in);
System.out.println("Ingresar Codigo: ");
x.setCodigo(entrada.nextLine());
System.out.println("Ingresar Apellidos: ");
x.setApellidos(entrada.nextLine());
System.out.println("Ingresar Curso: ");
x.setCurso(entrada.nextLine());
System.out.println("Ingresar promedio de practicas: ");
x.setPromPractica(entrada.nextDouble());
System.out.println("Ingresar examen Parcial: ");
x.setExaParcial(entrada.nextDouble());
System.out.println("Ingresar examen Final: ");
x.setExaFinal(entrada.nextDouble());
x.calcularPromedio();
x.imprimeDetalle();
}
}
Nota.-
La impresin lo podemos realizar en ejecutaAlumno
Observacin: