Powered By Blogger

domingo, 25 de julio de 2010

OOP Definiciones

Introducción a la programación orientada a objetos con Java.

Las siguientes lineas no tiene por objeto ser una introducción al paradigma de la programación orientada a objetos, cuestión que recomiendo profundamente para poder hacer un buen uso de Java, porque si bien el lenguaje, con su sintaxis obliga en cierta forma a pensar como personas y no como máquinas, la necesidad de correr contra el tiempo, en nuestro trabajos, nos lleva a programar con lenguajes orientados a objetos en forma estructurada, que por sus orígenes, tienden a parecerse a la máquina con la cual trabajamos.

a) ¿Que es una clase
Una clase es el molde, la plantilla que representa un concepto de la vida real o de una entidad abstracta (Ej. conceptos de matemáticas como grupos, retículos u objetos geométricos).

Codificación en Java:

public class Persona {
}

public class Circulo{
}

b) ¿Que es un objeto?

Es una instancia de una clase, por ejemplo, de la clase Persona, podría ser quien escribe, o nuestro amigo José.

¿Como se implementa una clase?

Persona pedro = new Persona();

Persona jose = new Persona();

Aqui lo que se hace es definir la variable pedro que se referirá al objeto Persona y luego se crea el objeto, es decir, una instancia de la clase Persona.
El código no abreviado sería:

Persona pedro = null;       //se define la variable pedro como Persona
pedro = new Persona();    //se llama al constructor Persona() para que cree una instacia.

Los pasos son:
- declaro la variable pedro
- instancio la persona
- invoco al constructor
- asocio la variable al constructor

Java siempre llama al constructor, en el ejemplo anterior a Persona(), que se inicializa sin pasar ningún valor. Esto ocurre por default, para que no ocurra debemos escribir un constructor por nuestra cuenta:

public class Persona{

   // Atributos de la clase
   private String nombre;
  
   // Constructor
    public Persona(String miNombre){
    this.nombre = miNombre;
   // Aqui se pueden asignar atributos y métodos al objeto que se crea.
   // Por ejemplo
   if (miNombre == "Luis")
       System.out.println("Ese soy YO!");
 }
}

Las palabras en azul son palabras reservadas del lenguaje, por ejemplo java utiliza tres palabras clave para establecer el alcance de una clase: public, private y protected. Estos son modificadores de acceso, estableciendo quién está autorizado a hacer uso de las definiciones precedentes. Es bastante obvio que public significa que las definiciones están disponibles para todo el mundo, mientras que private establece un muro impenetrable al programa cliente. La palabra protected actúa como privated, con la excepción de que una clase heredada tiene acceso a los miembros protected pero no a los private.  Puede no especificarse el tipo de acceso, para lo cual Java tiene uno por defecto, al cual se lo suele llamar "friendly" o amistoso, ya que permite el acceso a las clases del mismo paquete, pero fuera de el se convierte en private.

No hay comentarios:

Publicar un comentario