Está en la página 1de 12

Clases y objetos

COMO SE PERCIBE EL MUNDO

Como un conjunto de cosas (que llamaremos objetos). Estos objetos pueden ser
simples o complejos y/o reales o imaginarios.

Ejemplos de objetos:

Antena parablica Helicptero automvil

Objeto profesor nmero complejo

Otros 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

Para definir un objeto se tiene que:

Identificar sus atributos o caractersticas o datos que lo distinguen de otros


objetos.
Identificar las acciones o comportamientos que puede realizar el objeto.

Ejemplo:

Un objeto automvil se define en trminos que caractersticas lo distingue de


otros objetos y de que puede hacer:

m
Caractersticas o atributos o datos
Color
Placa
Velocidad
Acciones o comportamiento
Avanzar
Detener
Acelerar
Voltear a la derecha
Voltear a la izquierda.

Ejemplo: Un objeto botn:

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.

INTERACCIONES ENTRE LOS OBJETOS

Un sistema est compuesto por objetos que interactan con otros


objetos contribuyendo ambos, a definir el comportamiento del sistema.
Es decir los objetos que colaboran con otros objetos.
Los objetos interaccionan envindose mensajes unos a otros: Un objeto
enva un mensaje a otro, el otro puede contestar, cambiar su estado, o
reaccionar de la manera apropiada.

Ejemplo:

En el siguiente. Una persona ingresa un numero en un objeto llamado Caja de


Texto, luego hace clic en un objeto llamado Botn que tiene la etiqueta Mostrar, y
se muestra el resultado en otro objeto llamado Caja rea de texto.

LA CLASE: AGRUPAMIENTO DE OBJETOS

Los objetos con caractersticas similares y comportamiento comn se


agrupan o clasifican en categoras llamadas clases.
Ejemplos:
Todas las pelotas se agrupan, en la clase Pelota
Todos los automviles se agrupan, en la clase Automvil.

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.

DEFINICION DE UNA CLASE

Un conjunto de objetos con propiedades (atributos, o caractersticas o


datos) similares y un comportamiento (o acciones o mtodos) comn.

Clase Automovil nombre de la clase

Color, velocidad, placa propiedades


Avanzar, detener, acelerar, girar mtodos

Definida la clase, a partir de ella se pueden generar objetos (o instancias) de


esa clase. Es decir la clase acta como un molde o plantilla para generar
objetos del mismo tipo.

Ejemplos:

De la clase Pelota se pueden generar los objetos: Pelota de basket y


pelota de futbol.
De la clase Automvil se pueden generar los objetos: Ferrari y Ford.

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

Es una instancia particular (o valor especfico) de una clase. El objeto Ferrari


es un determinado coche.
Un objeto se distingue de otros objetos de la clase por sus atributos. El
objeto Ferrari se distingue del objeto Volkswagen por su velocidad, motor,
etc.

MODELADO CON CLASES Y OBJETOS

Se modelan en los trminos especficos del dominio (el contexto especfico


del problema a resolver).

Ejemplos:

1.- Sistema escuela compuesta de:

Clase Libro
Clase Pizarra
Clase Tiza
Clase Diploma
Clase Borrador

2.- Sistema interfaz grfico de usuario compuesto de:

Clase Ventana de dialogo


Clase etiqueta
Clase caja de Texto
Clase Botn
Clase Caja rea de Texto.

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:

- Sus componentes pueden ser funciones o datos que se conocen como


mtodos o atributos.
- Los mtodos son los programas que se utilizan para consultar o modificar
los datos, se accede a ellos mediante el operador punto, al igual que a los
atributos.

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;

tipo nombredelmtodo1 (lista de parmetros){


//cuerpo del mtodo
}
tipo nombre del mtodo2 (lista de parmetros){
//cuerpo del mtodo
}

tipo nombredelmtodoN (lista de parmetros) {
//cuerpo del mtodo
}
}

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.

Variables de instancia: Son las variables definidas en una clase. Se llaman as


porque cada instancia de la clase (es decir cada objeto de la clase) contiene su
propia copia de estas variables. Adems los datos de un objeto son distintos de los
de otro.

La sintaxis general de la clase no tiene el metodo main( ). Las clases de java no


tienen necesariamente un mtodo main( ). Solamente se especifica un mtodo
main( ) si esta clase es el punto de inicio del programa.

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;

El tipo se refiere al nombre de la clase y el nombre se refiere al nombre del objeto

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.

Sintaxis: nombredelobjeto = new NombreDelaClase( );

Ejemplos:
1. Caja miCaja; // declara el objeto miCaja
miCaja = new Caja( ); // crea el objeto miCaja

2. Estudiante estudiante1; // declara el objeto estudiante1


estudiante1 = new Estudiante( ); // crea el objeto estudiante1

Tambin se puede agrupar la declaracin y la creacin en una sola instruccin:


Caja miCaja = new Caja ( ); // declara y luego se crea un objeto llamado miCaja
que pertenece a la clase Caja.

Cuando se ejecute esta sentencia miCaja ser una referencia a una instancia de
Caja y ser una realidad fsica.

Estudiante estudiante1 = new Estudiante( ); // declara y luego se crea un objeto


estudiante1 que pertenece a la clase Estudiante.

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.

Referenciar variables y mtodos de un objeto.


Una vez que se ha declarado un objeto con sus variables y mtodos se pueden
acceder a ellos especificando el nombre del objeto y el nombre de la variable o
mtodo separados por un punto. Es decir:

Para la variable: objeto.variable

Para llamar al mtodo: objeto.nombreMetodo(listaargumentos)

Si el mtodo no tiene parmetros se utilizan los parntesis vacos:

objeto.nombreMetodo();

Al objeto miCaja se puede acceder a las variables ancho, alto, largo con:

miCaja.ancho
miCaja.alto
miCaja.largo

Podemos utilizar este nombre en sentencias y expresiones como si fuesen


variables normales

Ejemplo:

La siguiente instruccin asigna el valor de 100 a la variable ancho de miCaja:


miCaja.ancho = 100;

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){

// Cuerpo del mtodo

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.

nombreDelMtodo: Cualquier identificador vlido que sea distinto de los que ya


estn siendo utilizados por otros elementos del programa.

Lista de parmetros: Conjunto de pares de tipos e identificador separados por


comas. Son variables que reciben los valores de los argumentos que se pasa a los
mtodos cuando se les llama. Si el mtodo no tiene parmetros la lista estar
vaca.

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.

Presentamos un ejemplo para pasar la variable a por valor

Crear la clase Valor Crear ejecuta Valor

Vamos a crear la clase Valor Para lo cual click derecho a ejemplosBasicos


Para lo cual clik derecho a ejemplosBasicos New, Java main class
New, Java Class Class name: aplicaValor
Class name: Valor Presionar botn Finish
Presionar botn Finish

Escribir el cdigo Escribir el cdigo


package ejemplosBasicos; package ejemplosBasicos;
public class Valor { public class EjecutaValor {
void porValor(int a){ public static void main(String[] args) {
a=a+1; int a;
} Valor v = new Valor();

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.

Para pasar un objeto a una funcin se debe de tener en cuenta:

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

Tipo nfuncin (Clase objeto)


Nombre del objeto
Nombre de la clase
Cuando definimos:

1.- Estudiante estudiante1, aqu estudiante1 apunta a null

2.- estudiante1 = new Estudiante() , aqu estudiante1 apunta a la clase estudiante

Haciendo analoga con Parmetro actual y parmetro formal:

Parmetro actual como argumento va estudiante1


Parmetro formal como argumento va Estudiante estudiante1

Presentamos un ejemplo para pasar la variable a por referencia

Crear la clase Referencia Crear ejecuta Referencia

Vamos a crear la clase Referencia Para lo cual click derecho a ejemplosBasicos


Para lo cual clik derecho a ejemplosBasicos New, Java main class
New, Java Class Class name: aplicaReferencia
Class name: Referencia Presionar botn Finish
Presionar botn Finish

Escribir el cdigo Escribir el cdigo


package ejemplosBasicos; package ejemplosBasicos;

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);
}
}

Realizar una aplicacin que contenga lo siguiente: lnea-titulo

Cdigo apellidos-nombres curso prom-Practicas exParcial exFinal Promedio

*** *********** **** ** ** ** **

Lnea de detalle

Donde el promedio est dado por la frmula:

pf=(promedio de practicas+examen parcial+ examen final)/3

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.-

Todos los calcular van a ser procedimientos


imprimeDetalle() va a ser un procedimiento

Donde cada uno de los clculos ser procedimientos:

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()

En la clase alumno se coloca del pseudocdigo solo la definicin de variables


y los mtodos.
Luego realizamos el que ejecuta la clase alumno, en el que capturamos las
variables de entrada y llamada a los mtodos.

Crear la clase alumno Crear ejecuta alumno

Vamos a crear la clase Alumno Para lo cual click derecho a


Para lo cual clik derecho a ejemplosBasicos
ejemplosBasicos New, Java main class
New, Java Class Class name: aplicaAlumno
Class name: Alumno Presionar botn Finish
Presionar botn Finish

Va la declaracin de las variables Va la captura de las variables


Y Y
El desarrollo de los mdulos llamada a los mdulos
Cdigo fuente de la clase Alumno

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:

Cick al boton Select All y luego click al botn Refactor

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:

También podría gustarte