Ir al contenido principal

Conceptos básicos de programación en Java


Como algunos de ustedes ya saben, estoy en proceso de certificarme como programador en Java, un SCJP (Sun Certified Java Programmer) y he descuidado un poco este blog por cuestiones de estudio y lectura pero el día de hoy decidí incorporar ambas actividades así que estaré publicando algunos artículos de temas incluídos en la certificación.

Lo primero que vamos a hacer es comprender algunas definiciones:

Clase: Estructura que define como son los objetos, indicando sus atributos y sus acciones. Las clases son declaraciones o abstracciones de objetos, lo que significa que una clase es la definición de un objeto. Cuando se programa un objeto y se definen sus características y funcionalidades, realmente se programa una clase.

Objeto: En tiempo de ejecución, cuando la máquina virtual de Java encuentra la palabra 'new' en el código, utiliza la clase apropiada para crear un objeto, que en sí es una instancia de la clase. Dicho objeto tiene su propio estado y acceso a todos los comportamientos definidos en la clase de la cual se ha instanciado.

class MiObjeto{
//comportamiento de la clase
}

public class Principal{

MiObjeto o = new MiObjeto();
//al instanciar la clase se crea el objeto con la

// palabra new


}


Estado (variables de instancia): Cada objeto (instancia de clase) tiene su propio y único grupo de variables de instancia como fueron definidas en la clase. De manera colectiva, los valores asignados a cada una de las variables de instancia contenidas en el objeto definirán su estado.

Comportamiento (los métodos): Cuando un programador crea una clase, crea a su vez métodos para dicha clase (en lenguaje C sería el equivalente a una función). En los métodos es donde el trabajo real de la clase es realizado, la manipulación de variables y datos, desarrollo de operaciones y demás cuestiones del programa se realizan dentro de los métodos.

Interfaz: Una interfaz es una clase abstracta 100% (no puede ser instanciada) que define los métodos que una subclase (una clase que implemente una interfaz) debe soportar, pero NO define el cómo debe de soportarlos. Por ejemplo, si declaramos una interfaz de nombre Animal, dicha interfaz debe de declarar aquello que toda clase que implemente dicha interfaz debe de soportar, por ejemplo comer(), pero de igual manera en la interfaz no se define cómo es que el Animal va a comer, solamente define que debe de hacerlo.

Identificadores: Todos los componentes de Java, como los que hemos mencionado anteriormente necesitan un nombre, lo que definimos como identificadores, como en cualquier otro lenguaje de programación, al declararlos debemos de seguir ciertas reglas que definiré más adelante en un artículo dedicado a éstos.

Herencia: Es una propiedad que permite construir nuevos Objetos (Clases) a partir de unos ya existentes. Por ejemplo, si tienes tu clase de nombre Animal que define métodos como comer() y respirar() que son generales para todos los animales, puedes crear una clase de nombre Perro que herede de la clase Animal, por lo tanto, Perro de igual manera podrá llamar al método de comer() y respirar(), pero a su vez puede definir otros métodos exclusivos de un perro como ladrar().

La palabra en el código que define la herencia es extends...

class Animal{
void comer(){
//comportamiento para comer
}

void respirar(){
//comportamiento para respirar
}
}

class Perro extends Animal{
void ladrar(){
//comportamiento para ladrar
}
}


...es importante tomar en cuenta que una clase solamente puede heredar una y solo una clase, NO es válido declarar:

class Perro extends Animal, Mamifero{
}


Ahondaré en el tema de la herencia un poco después en otro artículo.

Acoplamiento: Es el nivel en que una clase conoce o utiliza los miembros de otra clase. Un nivel de bajo acoplamiento es el estado deseable de toda clase y se trata de obtener mediante un buen encapsulamiento. Un alto nivel de acoplamiento no es recomendable ya que se desea que cada clase realice una función específica sin depender una de otra.

Encapsulamiento: Consiste en unir en la Clase las características y comportamientos, esto es, las variables y métodos. Es tener todo esto es una sola entidad y restringir el acceso directo a las variables promoviendo acceso indirecto por medio de métodos. Por ejemplo:

class Encapsular{

private int x=0;
private int y=1;

public void cambiarValores(int x1, int y1)
{
x = x1;
y = y1;
}

}


.. en el ejemplo anterior, si declaramos un objeto de tipo Encapsular, debemos mandar llamar el método cambiarValores(x,y) para poder cambiar los valores de x y y, si tratamos de acceder directamente no será posible...

public class Principal{

Encapsular e = new Encapsular();

e.x = 7; //Esto no es válido ya que el acceso a las
e.y = 2; //variables es privado, el compilador mandará un error.

e.cambiarValores(7,2); //Esto es válido, los valores de las variables cambiarán.
}

Cohesión: Es el grado en que una clase tiene una sola y bien definida función o responsabilidad. La alta cohesión es el estado deseable de las clases en una programación orientada a objetos, la baja cohesión es el estado en el cual los miembros de la clase soportan múltiples roles o funciones y no es recomedable.

Polimorfismo (muchas formas): Un objeto simple puede ser referenciado a través de muchas formas diferentes, siempre y cuando compartan la misma superclase. Por ejemplo:

class Perro extends Animal{
//comportamiento del perro
}

public class Principal{

Animal p = new Perro();

}


... en el ejemplo anterior, una variable de tipo Animal, puede contener un Perro, por que perro, aunque defina métodos como ladrar() que son exclusivos de un Perro, sigue siendo un Animal.

Hasta aquí le dejamos por el momento, sigue pendiente para los próximos artículos sobre Java.

Más sobre programación en Java aquí.

Comentarios

Publicar un comentario

Este es un espacio abierto, puedes escribir lo que gustes respetando los siguientes puntos:

1.- Lo que escribas esté relacionado con el post, si gustas contactarme puedes hacerlo aqui.

2.- Todo es cuestionable, aunque ten en cuenta que existen formas de hacerlo, evita las agresiones y revisa tu lenguaje antes de publicar un comentario.

3.- Siempre hay tres verdades: tu verdad, mi verdad y la verdad, por lo que opiniones diferentes no necesariamente son equivocadas.

4.- Los comentarios son una forma de discusión abierta, por lo que al publicar uno, implícitamente entras a una discusión, con todo lo que esto representa.

5. Me reservo el derecho de eliminar comentarios que no respeten las condiciones mencionadas anteriormente.

Toma en cuenta que puedes utilizar emoticones en tu comentario, para ver una lista de los disponibles da clic en este enlace.

Entradas más populares de este blog

3 sencillos pasos para tramitar la ayuda por desempleo de la AFORE

¿Tienes dinero ahorrado en tu AFORE y en este momento no estás trabajando o estás trabajando pero no tienes seguro social? Si respondiste sí a la pregunta anterior entonces hay una buena noticia para ti: puedes retirar una parte del dinero que tienes ahorrado. Y lo mejor, es muy sencillo. En este artículo te diré paso a paso qué hacer para obtener ese dinero, sin tecnicismos legales ni nada por el estilo, simple y sencillamente lo que necesitas saber. Paso Número 1: Obtener los últimos 2 estados de cuenta de tu Afore Esto en la mayoría de los casos es sumamente sencillo ya que dichos estados de cuenta llegan directamente al domicilio del ahorrador, si este es tu caso puedes saltar lo restante en este punto y continuar con el paso número 2, en caso contrario sigue leyendo… Si no tienes tus estados de cuenta debes ponerte en contacto con la empresa encargada de administrar tu ahorro para que te los proporcione, normalmente te van a pedir una identificación oficial, comprobante de

Conectar una base de datos en MySQL con NetBeans

NetBeans es una plataforma para el desarrollo de aplicaciones de escritorio usando Java y a un Entorno integrado de desarrollo (IDE) desarrollado usando la Plataforma NetBeans. Si eres un programador y desarrollas tus aplicaciones en Java seguramente necesitarás conectar una base de datos tipo MySQL a este entorno algún día, bueno, si lo necesitas ahora, he aquí una explicación paso a paso de cómo conectar ambas herramientas.

4 extraordinarias aplicaciones espía para Android

Le andas haciendo al James Bond y necesitas grabar video, voz o tomar fotos desde tu dispositivo Android sin ser notado? Aquí 4 excelentes aplicaciones que facilitarán tus hazañas de 007 en menos de lo que canta un gallo.

c606 c6nf5g4r6 e3 tec3ad6 [Como configurar el teclado]

¿Problemas al escribir con el teclado? ¿Tratas de escribir la letra ‘o’ y sale el número ‘6’ o algo por el estilo? La solución puede ser más simple de lo que parece. La solución a tu problema tras el salto...

Conexión, consulta y ejecución de sentencias en MySQL con Java

Anteriormente escribí este mismo artículo pero para bases de datos en Oracle . En este artículo prácticamente me copio y pego para explicar paso a paso cómo realizar la conexión a MySQL en Java, así como la forma de realizar consultas a los registros existentes y ejecutar sentencias de inserción, borrado y actualización de datos. Al final del artículo tendremos una clase que encapsulará todos los procedimientos necesarios para trabajar con la base de datos.