Conceptos de java

Solo disponible en BuenasTareas
  • Páginas : 5 (1224 palabras )
  • Descarga(s) : 0
  • Publicado : 9 de diciembre de 2011
Leer documento completo
Vista previa del texto
Capítulo 1: Clases y Objetos
Definiciones:
Objeto: Los objetos los podemos entender como una representación detallada y particular de algo en la realidad.
Clase: Las clases son abstracciones de objetos, es decir que son la definición de un objeto. Una clase se compone de propiedades miembro, básicamente dos cosas: métodos y atributos.
Métodos: Son los que implementan la funcionalidad de unobjeto.
Atributos: Son las características de un objeto.
¿Porque programar con objetos?
Debemos entender que la programación orientada a objetos tiene como objetivo pensar la construcción de nuestras aplicaciones en terminos de objetos y el cómo se relacionan entre si.
Pensar en Objetos
Normalmente cuando se nos presenta un problema a sistematizar al pensar en programación orientada aobjetos, debemos analizar la situación y el cómo podriamos expresar los elementos del problema en objetos. Por ejemplo si mi problema fuera el realizar un programa para una dulceria, donde debiera hacer altas, bajas y cambios de dulces para mi almacén, qué tipo de implementación debería pensar??
En este caso, mi problema es una dulcería, por tanto seguramente debería de pensar en objetos de tipo"dulce" (parece obvio puesto que mi problema seguramente será registrar, eliminar y modificar dulces en mi dulceria). Así mismo podría pensar que un dulce tiene atributos y operaciones para posteriormente definir al objeto en una clase (por eso se dice que la definición de un objeto se llama clase).
Ahora pienso que otros objetos hay en mi problema. La definición no me pide mas que dar de alta, baja ymodificaciones a un dulce, probablemente en una base de datos. No me dá más necesidades por tanto podría pensar que sólo debo crear objetos de tipo dulce.
Ahora debo pensar en las características y operaciones de mi objeto dulce. Es claro que podría definir diversos tipos de características, por ahora pensemos que son: el nombre, la marca y el precio. En cuanto a las operaciones es algo dificilde mencionar, qué operaciones puede hacer un dulce?. Pues bien, aunque suene extraño un dulce por si solo no puede hacer nada, podría pensar entonces que un objeto dulce no hace ninguna acción. Esto no esta mal pensado, por tanto ahora pasemos a aterrizarlo en JAVA.
Si seguimos las definiciones antes mencionadas, ahora que sé lo que necesito sobre mi objeto, procedo a "definir mi objeto", esdecir, generar mi clase. Colocando sus miembros (atributos y métodos):
public class Dulce{
public String nombre;
public float precio;
public String marca;
Dulce(String nombre, float precio, String marca){
this.nombre=nombre;
this.precio=precio;
this.marca=marca;
}
}
Ahora, cómo construiría el resto de mi programa?
Bueno, en una clase tipo Main (la llamo así porque es la única que tieneun método "ejecutable", el método main()) podría construir cosas como las que siguen:
public class Main{
static void main(String args[]){
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader (isr);
String opcion="";
do{
opcion = br.readLine();
System.out.println("Menú");
System.out.println("1) Altas ");
System.out.println("2) Bajas");System.out.println("3) Cambios ");
System.out.println("Opción: ");
if (opcion.equals("1")){
Dulce unDulce = new Dulce("paleta",2.5,"tutsu");
....
}
if (opcion.equals("2")){
...
}
if (opcion.equals("3")){
...
}
}
while (!opcion.equals ("s"));
}
}
Como ya se habrán dado cuenta, creo que cometimos un error muy ingenuo, olvidamos la forma en la que podría almacenar mis dulces. No tengoningún mecanismo que me permita guardarlos, a no ser que escriba métodos dentro de mi clase Main que tengan conexión a base de datos y ahi inserten, borren ó modifiquen mis dulces, pero eso sería tanto como hacer programación estructurada. Si pienso en objetos, debe haber un objeto que se encargue de eso...
Normalmente si lo viera en la vida real esta tarea se la encargaría al Almacenista...
tracking img