Está en la página 1de 7

Instituto Tecnolgico de Costa Rica. Escuela de Ingeniera en Computacin. Curso: Especificacin de Software. Profesor: Jaime Solano Soto.

Estudiantes: + Jonathan Snchez Salazar. + Miguel Urea Tencio Tarea #1 Fecha: 13/02/2012

Objeto
Un objeto es una construccin de software que refleja un concepto del mundo real. Si una clase puede pensarse como una tabla, entonces un objeto puede pensarse como una entrada de registro. La diferencia entre una clase y un objeto, es que la clase slo contiene datos, mientras que el objeto contiene datos y funcionalidad. Ejemplo
public class Telefono { String Tipo; String Modelo; Double Costo; public Boolean verificarDisponibilidad (String pTipo, String pModelo) { If (this.Tipo = pTipo && this.Modelo=pModelo) Return true; Else Return false; } } public class Principal { public static void main(String[] args) { Telefono telef = new Telefono(); Boolean resultado; resultado = telef.verificarDisponibilidad(Cel, BX099); } }

En el ejemplo anterior se est creando el objeto telef en la clase Principal a partir de la clase Telefono.

Abstraccin
La abstraccin es un tema de anlisis que se ocupa de lo que una clase conoce o hace. La abstraccin del objeto debe incluir las responsabilidades, los atributos y mtodos de inters para nuestra aplicacin e ignorar el resto. Ejemplo
public class Estudiante { int carnet; String nombre; String carrera;

Slo se incluyeron estos atributos, dado que otros como peso y religin no nos interesan para nuestra aplicacin.

public Estudiante(int Carnet, String Nombre, String Carrera) { this.carnet = Carnet; this.nombre = Nombre; this.carrera = Carrera; } }

Encapsulamiento
El encapsulamiento trata el hecho de cmo se pretenden modular las caractersticas del sistema. En el mundo de la orientacin a objetos, los sistemas se modulan en clases y estas a su vez en atributos y mtodos. Nosotros decimos que encapsulamos comportamiento en clases y que encapsulamos funcionamiento en mtodos. El encapsulamiento se basa en el hecho de que usted no debe conocer cmo est implementado algo para poder utilizarlo.

Ejemplo
public interface InterfazAritmetica { public int OperarForma1(int operando1, int operando2); public float OperarForma2(int operando1, int operando2, int operando3); } public class Aritmetica { public float OperarForma1(int operando1, int operando2) { return (operando1 + operando2)/2; } public float OperarForma2(int operando1, int operando2, int operando3) { return (operando1 - operando2) + (operando3 / 3); } }

La idea es que nosotros no necesitamos saber cmo funciona el mtodo OperarForma1 ni OperarForma2; lo nico que necesitamos saber es qu hace y qu parmetros recibe y por eso creamos una interfaz.

Ocultamiento de informacin
Para hacer las aplicaciones mantenibles, se debe restringir el acceso a los atributos y a algunos mtodos. La idea es que si una clase quiere informacin de otra clase, se lo solicite y no simplemente la tome. Ejemplo
public class Auto { private String modelo; private int ao; public Auto(String Modelo,int Ao) { modelo=Modelo; ao=Ao; } public void setModelo(String Modelo){ this.modelo = Modelo; } public void setAo(int Ao){ this.ao = Ao; } public String getModelo(){ return modelo; } public int getAo(){ return ao; }

Como los atributos son privados (prvate) entonces no se pueden accederse directamente; para tener acceso a ellos se deben utilizar los setters y getters.

Herencia
Frecuentemente existen similitudes entre diferentes clases. Dos o ms clases frecuentemente comparten los mismos atributos y/o los mismos mtodos. Para evitar la repeticin de cdigo, una clase puede heredar atributos o mtodos de otra. Ejemplo
public class { public public public public public public Persona String Nombre; String Apellido1; String Apellido2; String Direccion; String CedulaIdentidad; int AoNacimiento;

public boolean verificarExistencia(String pCedulaIdentidad) { System.out.println("La persona s existe"); } public int obtenerEdad(int AoNacimiento) { return 2012-AoNacimiento; } } public class Estudiante extends Persona { public int Carnet; public String Carrera; public void matricularEstudiante() { System.out.println("Matricula exitosa"); } } public class Profesor extends Persona { public int Codigo; public void asignarCurso() { System.out.println("El curso se ha agregado correctamente"); } }

En el ejemplo anterior, se pretende ahorrar cdigo haciendo que la clase Estudiante y la clase Profesor herede los mtodos de Persona, dado que todo profesor y estudiante es una persona.

El anterior diagrama de clases realizado en Bouml, ilustra el ejemplo de herencia codificado con anterioridad.

Agregacin
Algunas veces un objeto est hecho de otros objetos. De esta manera se puede decir que la agregacin se refiere a que un objeto contiene otros objetos. Ejemplo
public class Punto { int x = 0; int y = 0; public Punto(int x, int y) { this.x = x; this.y = y; } } class Rectangulo { Punto origen; int ancho ; int alto ; public Rectangulo() { origen = new Punto(0, 0); ancho=0; alto=0; } public Rectangulo(int w, int h) { this(new Punto(0, 0), w, h); } public Rectangulo(Punto p, int w, int h) { origen = p; ancho = w; alto = h; } }

El ejemplo anterior ilustra como un rectngulo est compuesto de puntos, que a final de cuentas son objetos.

Bibliografa
Ambler, S. The object primer (Tercera ed.). Cambridge.

También podría gustarte