Preparación SCJP

java

“La práctica hace al maestro
Ingrid (la chascona).

La siguiente página es una traducción de los puntos mas relevantes de un libro de certificacion para SCJP, acá no pretendo una traducción completa del ejemplar, pero si los puntos mas importantes que he de considerar, lamento a su vez si la traducción no es muy buena pero la práctica hace al maestro como me decían por aquí jajaja, espero que les sirva.

  • Clase: una plantilla que describe los tipos de estados y comportamientos que los objetos de este tipo soportan.
  • Objeto: En tiempo de ejecución, cuando la Java Virtual Machine encuentra la palabra clave ‘new’. esta usará la clase apropiada para crear un objeto que es una instancia de esta clase. Ese objeto tendrá su propio estado y acceso para todos los comportamientos definidos por esta clase.
  • Estado (variables de instancia): Cada objeto (instancia de una clase) tendrá su propio conjunto único de variables de instancia como se define en la clase, los valores asignados a las variables de instancia de un objeto constituyen el estado del objeto.
  • Comportamiento (métodos): Cuando un programador crea una clase, crea métodos para esa clase. Los métodos son donde se almacena la lógica de la clase. Los métodos son donde se realiza el trabajo real. Son algoritmos donde se ejecutan, y se manipulan los datos.

Identificadores y palabras clave
Todos los componentes de java que acabamos de hablar -clases, variables y metodos- necesitan nombres.En java son llamados identificadores, y, Como se podría esperar, hay reglas para lo que constituye un identificador legal en java.     Más allá de lo que es legal, Sin embargo, los programadores de Java (y Sun) han creado convenciones para nombrar los métodos, variables y clases.
Como todos los lenguajes de programacion, Java tiene un conjunto de elementos integrados de palabras clave, estas palabras clave no deben utilizarse como identificadores. Más adelante en este capítulo vamos a revisar los detalles
de estas reglas de nomenclatura, las convenciones, y las palabras clave de Java.

Herencia
Central para java y otros lenguajes orientados a objetos es el concepto de herencia, que permite definir codigo en una clase para ser reusado en otra clase. En java, tu puedes definir una super-clase general, y que extiendan de esta mas subclases especificas. La super clase no sabe quien hereda de esta, pero todas las subclases que heredan de la superclase deben declarar explícitamente la relación de herencia. Una subclase que hereda de una superclase es dado automáticamente las variables de instancia y los métodos de acceso definidos por la superclase, pero tambien es libre para sobreescribir metodos de la superclase para definir un comportamiento mas especifico.
Por ejemplo, una superclase llamada ‘Auto’ podria definir un metodo general para todos los automoviles, pero una subclase ‘Ferrari’ podria sobreescribir el metodo acelerar().

Interfaces
Un compañero de gran alcance a la herencia es el uso de interfaces. Las Interfaces son superclases abstractas en un 100% que define los métodos que una subclase debe tener, pero no la forma en que debe ser usado. En otras palabras, una interface ‘Animal’ podria declarar que todas las clases que implementen de ‘Animal’ tengan el metodo comer(), pero la interfaz ‘Animal’ no da ninguna logica para el metodo comer(). Esto significa que para las clases que implementan de la interface ‘Animal’ para definir el codigo actual por como el tipo animal en particular se comporta cuando el metodo comer() es invocado.

Encontrando otras clases
Como veremos más adelante en el libro, es una buena idea hacer sus clases de cohesión. Eso significa que cada clase debe tener un conjunto bien definido de responsabilidades. Por ejemplo, si estuviera creando un programa de simulación de zoológico, que te gustaría representar OsoHormiguero con una clase, y los visitantes del zoológico con una clase diferente. Además, usted podría tener una clase de cuidador, y una clase de proveedor de Popcorn. El punto es que no deseamos una clase que tiene comportamiento tanto de OsoHormiguero y comportamientos Popcorn (más sobre esto en el capítulo 2).
Incluso un simple programa en java usa objetos de muchas clases diferentes: Algunas que han sido creadas por ti, y también creadas por otros (como la API de sun Java). Java organiza las clases dentro de packages, y usamos la sentencia import para dar a los programadores de una manera coherente para la gestión de nombres de, y acceso a las clases que necesitan.
El examen cubre un monton de conceptos relacionados a los packages y accesos a las clases; que vamos a explorar en detalle en este – y los siguientes – capitulo.

Identificadores Legales

Técnicamente, los identificadores legales deben estar compuestos por sólo caracteres Unicode, números, símbolos de moneda, y la conexión de los caracteres (como el underscore _ ). El examen no entra en detalles en los rangos de los caracteres Unicode que son un conjunto de letras y numeros. Por lo tanto tu no necesitas conocer en que rango se encuentras los caracteres Tibeteanos que van desde \u0420 a \u0f29. Las reglas que tu debes conocer son las siguientes:

  1. Los identificadores deben comenzar con una letra, un carácter de moneda ($), o un caracter conector como el de subrayado (_). Los identificadores no pueden empezar con un número!
  2. Después del primer carácter, los identificadores pueden contener cualquier combinación de letras, caracteres de moneda, caracter conectores, o números.
  3. En la práctica, no hay límite en el número de caracteres que un identificador puede tener.
  4. Usted no puede utilizar palabras clave de Java como un identificador. La Tabla 1-1 enumera todos las palabras clave Java de los cuales hay uno nuevo en la versión 5,0 llamado enum.
  5. Los identificadores en java son sensibles a mayusculas y minusculas; foo y FOO son dos identificadores diferentes.

Los siguientes ejemplos son identificadores legales en java:

int _a;
int $c;
int ______2_w;
int _$;
int this_is_a_very_detailed_name_for_an_identifier;

Los siguientes ejemplos son identificadores ilegales:

int :b;
int -d;
int e#;
int .f;
int 7g;

instantánea5

Sun’s Java Convenciones del Código

Los siguientes puntos son los estándares de nomenclatura que Sun recomienda, y que debemos usar en el examen.

  • Clases e interfaces: Los nombres deben comenzar con mayúscula y en el caso de estar compuesto por varios nombres cada uno debe empezar con mayúscula (este formato aveces es llamado “camelCase”). Para las clases los nombres típicamente deberían ser sustantivos, por Ejemplo:
    1. Perro
    2. Cuenta
    3. PrintWritter

En cambio para las interfaces, los nombres deberían ser llamados como adjetivos, por Ejemplo:

  1. Runnable (Ejecutable)
  2. Serializable
  • Métodos: La primera letra debe ser minúscula, y a continuación usar normalmente las reglas camelCase. Además, típicamente los nombres están pareados por verbo-sustantivo, por Ejemplo:
  1. getBalance
  2. setCustomerName
  3. hacerCalculo
  • Variables: Se usa el mismo formato de los métodos, deberían ser usadas las reglas camelCase, pero empezando con minúscula. Sun recomienda que sean nombres cortos y significativos, por Ejemplo:
  1. buttonWidth
  2. accountBalance
  3. miString
  • Constantes: Las constantes de java son creadas marcando variables como static y final. Estas deberían ser llamadas usando mayúscula en todas sus letras separadas por un caracter underscore, por Ejemplo:
  1. MIN_HEIGHT

Estándares JavaBeans

La especificación de JavaBeans se destina a ayudar a los desarrolladores Java a crear componentes que puedan ser utilizadas fácilmente por otros desarrolladores Java en un Entorno de Desarrollo Integrado (IDE) tales como  Eclipse o NetBeans. Como programador, quiero ser capaz de utilizar los componentes de la API de Java, pero sería fantástico si también podría comprar el componente de Java que desee. Y una vez que he encontrado los componentes, me gustaría ser capaz de acceder a ellos a través de una herramienta de desarrollo de tal manera que no tenga que escribir todo el código desde cero. Mediante el uso de las reglas de nomenclatura, la especificación JavaBeans ayuda a garantizar que las herramientas pueden reconocer y utilizar los componentes construidos por diferentes desarrolladores. La API de JavaBeans es un poco complicada, pero tendrá que estudiar sólo algunas bases del examen.
En primer lugar, JavaBeans son clases Java que tienen propiedades. Para nuestros propósitos, piensa en las propiedades como variables de instancia privada. Puesto que son privadas, la única manera en que se puede acceder desde fuera de su clase es a través de métodos de la clase. Los métodos que cambian el valor de una propiedad se denominan métodos setter, y los métodos que recuperan el valor de una propiedad se denominan métodos getter. Las reglas de nomenclatura JavaBean que usted necesita saber para el examen son los siguientes:

JavaBean  Propiedad de reglas de nomenclatura

  • Si la propiedad no es un booleano, el prefijo el método getter debe ser get. Por ejemplo, getSize() es un nombre JavaBeans válido, captador de una propiedad llamada “size”. Tenga en cuenta que usted no necesita tener una variable llamada size (aunque algunos IDE’s lo esperan).El nombre de la propiedad se deduce de los getter y setter, no a través de las variables en su clase. Lo que retornará desde getSize() es de usted.
  • Si la propiedad es un booleano, el prefijo del método getter puede ser tanto get como is. Por Ejemplo, getStopped() o isStopped() son ambos nombres JavaBeans válidos para una propiedad boolean.
  • El prefijo método setter debe ser set. Por ejemplo, setSize() es el nombre JavaBean válido para una propiedad llamada size.
  • Para completar el nombre de un metodo getter o setter, cambiar la primera letra del nombre de propiedad a mayúsculas y a continuación añadir que el prefijo adecuado (get, is, or set).
  • Firmas de método setter debe marcarse público, con tipo de retorno void y un argumento que representa el tipo de propiedad.
  • Firmas de método Getter debe marcarse público, tomar sin argumentos, y tener un tipo de retorno que coincide con el tipo de argumento del método setter de esa propiedad.

Lo otro importante para saber sobre JavaBeans son los Listeners u oyentes que estan relacionado con los eventos y las GUI

No se traducirá esa parte en esta página.

La siguiente figura explica lo que aparecerá en el exámen referente a los identificadores, nomenclatura y los conceptos básicos de JavaBeans

exam

TRADUCCIÓN:

“El objetivo dice que usted tiene que saber identificadores jurídica sólo para los nombres de variables, pero las reglas son las mismas para TODOS los componentes de Java. Así que recuerde que un identificador válido para una variable es también un identificador legal de un método o una clase. Sin embargo, es necesario distinguir entre los identificadores y las convenciones de nombres, tales como las normas de JavaBeans, que indican cómo un componente de Java debe ser nombrado. En otras palabras, usted debe ser capaz de reconocer que un identificador es legal, incluso si no se ajusta a los estándares de nomenclatura. Si la pregunta de examen pregunta sobre las convenciones de nomenclatura, no sólo si un identificador se compilará-JavaBeans se menciona explícitamente.”

Actualizado: 09/09/09 – Cuestiones Fundamentales
Ultima actualización: 22/09/09 – Identificadores Válidos y demaces.

EN CONSTRUCCION…

by AngerRising

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: