UNIDAD 1. Programación Orientada a Objetos

17
UNIDAD 1. Programación Orientada a Objetos Ing. Steven Suárez Última Modificación: 17/07/2014 1 Conceptos Fundamentales de la Programación Orientada a Objetos. Introducción: La programación Orientada a objetos (POO) es una forma especial de programar, más cercana a como expresaríamos las cosas en la vida real que otros tipos de programación. La P.O.O. (también conocida como O.O.P., por sus siglas en inglés) es lo que se conoce como un paradigma o modelo de programación. Esto significa que no es un lenguaje específico, o una tecnología, sino una forma de programar, una manera de plantearse la programación. No es la única (o necesariamente mejor o peor que otras), pero se ha constituido en una de las formas de programar más populares e incluso muchos de los lenguajes que usamos hoy día lo soportan o están diseñados bajo ese modelo (PHP, AS2, AS3,…). Su uso se popularizó a principios de la década de los años 1990. En la actualidad, existe una gran variedad de lenguajes de programación que soportan la orientación a objetos. Con la POO tenemos que aprender a pensar las cosas de una manera distinta, para escribir nuestros programas en términos de objetos, propiedades, métodos y otras cosas que veremos rápidamente para aclarar conceptos y dar una pequeña base que permita soltarnos un poco con este tipo de programación. La Programación Orientada a Objetos (P.O.O.): La Programación Orientada a Objetos es una metodología que basa la estructura de los programas en torno a los objetos. Los lenguajes de Programación Orientada a Objetos ofrecen medios y herramientas para describir los objetos manipulados por un programa. Más que describir cada objeto individualmente, estos lenguajes proveen una construcción (Clase) que describe a un conjunto de objetos que poseen las mismas propiedades. Es un paradigma de programación que usa los objetos en sus interacciones, para diseñar aplicaciones y programas informáticos. Está basado en varias técnicas, incluyendo herencia, cohesión, abstracción, polimorfismo, acoplamiento y encapsulamiento. El paradigma de la programación orientada a objetos usualmente tiene las siguientes características: Simula actividades del mundo real. Tiene tipos de datos definidos por los usuarios.

Transcript of UNIDAD 1. Programación Orientada a Objetos

UNIDAD 1. Programación Orientada a Objetos Ing. Steven Suárez

Última Modificación: 17/07/2014 1

Conceptos Fundamentales de la Programación Orientada a Objetos.

Introducción: La programación Orientada a objetos (POO) es una forma especial de programar,

más cercana a como expresaríamos las cosas en la vida real que otros tipos de programación.

La P.O.O. (también conocida como O.O.P., por sus siglas en inglés) es lo que se conoce como

un paradigma o modelo de programación. Esto significa que no es un lenguaje específico, o una

tecnología, sino una forma de programar, una manera de plantearse la programación. No es la

única (o necesariamente mejor o peor que otras), pero se ha constituido en una de las formas de

programar más populares e incluso muchos de los lenguajes que usamos hoy día lo soportan o

están diseñados bajo ese modelo (PHP, AS2, AS3,…). Su uso se popularizó a principios de la

década de los años 1990. En la actualidad, existe una gran variedad de lenguajes de programación

que soportan la orientación a objetos.

Con la POO tenemos que aprender a pensar las cosas de una manera distinta, para escribir

nuestros programas en términos de objetos, propiedades, métodos y otras cosas que veremos

rápidamente para aclarar conceptos y dar una pequeña base que permita soltarnos un poco con

este tipo de programación.

La Programación Orientada a Objetos (P.O.O.): La Programación Orientada a Objetos es una

metodología que basa la estructura de los programas en torno a los objetos. Los lenguajes de

Programación Orientada a Objetos ofrecen medios y herramientas para describir los objetos

manipulados por un programa. Más que describir cada objeto individualmente, estos lenguajes

proveen una construcción (Clase) que describe a un conjunto de objetos que poseen las mismas

propiedades.

Es un paradigma de programación que usa los objetos en sus interacciones, para diseñar

aplicaciones y programas informáticos. Está basado en varias técnicas, incluyendo herencia,

cohesión, abstracción, polimorfismo, acoplamiento y encapsulamiento.

El paradigma de la programación orientada a objetos usualmente tiene las siguientes

características:

Simula actividades del mundo real.

Tiene tipos de datos definidos por los usuarios.

UNIDAD 1. Programación Orientada a Objetos Ing. Steven Suárez

Última Modificación: 17/07/2014 2

Esconde los detalles de la implementación.

Reutiliza código a través de la herencia.

Permite el mismo nombre para diferentes funcionalidades.

Entidad: En general definimos una entidad como algo concreto o abstracto, pero que existe y por

tanto es uno y diferente del resto. Puede ser una persona, una empresa, un animal e incluso en

ciertos contextos incluso objetos y cosas, aunque generalmente se refiere a una colectividad que

puede considerarse una unidad. Cada una de estas entidades tendría ciertos atributos propios. Así,

los empleados tendrían atributos como nombre, edad, estatura... los ordenadores otros como

identificador, procesador, año de compra, y así para cada una de ellas. Las entidades pueden ser

de dos tipos:

Tangibles: Son todos aquellos objetos físicos que podemos ver, tocar o sentir.

Intangibles: Todos aquellos eventos u objetos conceptuales que no podemos ver, un

sabiendo que existen, por ejemplo: la entidad materia, sabemos que existe, sin embargo,

no la podemos visualizar o tocar.

Clases: Una clase es un prototipo que se usa para definir las características y los

comportamientos que son comunes a todos los objetos de un mismo tipo. También se puede decir

que una clase es una plantilla genérica para un conjunto de objetos de similares características.

La sintaxis es la siguiente usa la palabra clave class:

[Modificadores] class NombreClase {

// Definición de variables y métodos

}

Ejemplo:

Public class Persona {

# Atributos o Propiedades

# Métodos

}

Ejemplo:

public class Carro{

UNIDAD 1. Programación Orientada a Objetos Ing. Steven Suárez

Última Modificación: 17/07/2014 3

String marca;

int kilometraje;

String color;

void encender(){

}

void acelerar(){

}

void apagar(){

}

}

Metáfora

Persona: Es la metáfora de una clase (la abstracción de Juan, Pedro, Ana y María), cuyo

comportamiento puede ser caminar, correr, estudiar, leer, entre otros. Puede estar en estado

despierto, dormido, entre otros. Sus características (propiedades) pueden ser el color de ojos,

color de pelo, su estado civil, entre otros.

Objetos: Entidad provista de un conjunto de propiedades o atributos (datos) y de operaciones o

comportamiento (métodos). Los objetos en programación se usan para modelar objetos o

entidades del mundo real. Es una instancia a una clase.

Los objetos son entidades que tienen un determinado estado, comportamiento (método) e

identidad:

El estado está compuesto de datos o informaciones; serán uno o varios atributos a los que se

habrán asignado unos valores concretos (datos).

El comportamiento está definido por los métodos o mensajes a los que sabe responder dicho

objeto, es decir, qué operaciones se pueden realizar con él.

UNIDAD 1. Programación Orientada a Objetos Ing. Steven Suárez

Última Modificación: 17/07/2014 4

La identidad es una propiedad de un objeto que lo diferencia del resto; dicho con otras

palabras, es su identificador (concepto análogo al de identificador de una variable o una

constante).

Por ejemplo, si hablamos en términos de la programación orientada a objetos, podemos decir

que nuestro objeto celular es una instancia de una clase conocida como “celular”. Los celulares

tienen características (marca, modelo, sistema operativo, pantalla, teclado, entre otros.) y

comportamientos (hacer y recibir llamadas, enviar mensajes multimedia, transmisión de datos

entre otros.). Cuando se fabrican los celulares, los fabricantes aprovechan el hecho de que los

celulares comparten esas características comunes y construyen modelos o plantillas comunes,

para que a partir de esas se puedan crear muchos equipos celulares del mismo modelo. A ese

modelo o plantilla le llamamos CLASE, y a los equipos que sacamos a partir de ella la llamamos

OBJETOS.

Nombre de la Clase

Atributos

Métodos

Para crear los objetos en Java se usa la palabra clave new. La sintaxis es la siguiente:

Nombre_Clase Nombre_Objeto = new Nombre_Clase ();

Por ejemplo:

Celular cel = new Celular ( );

El objeto, ahora, es cel, que se ha creado siguiendo el modelo de la clase Celular.

Polimorfismo: Es la capacidad que tienen los objetos de una clase de responder al mismo

mensaje o evento e función de los parámetros utilizados durante su invocación. Un objeto

polimórfico es una entidad que puede contener valores de diferentes tipos durante la ejecución

del programa.

Celular

-marca: String

-modelo: String

+llamar():void

+colgar(): void

UNIDAD 1. Programación Orientada a Objetos Ing. Steven Suárez

Última Modificación: 17/07/2014 5

Significa una sola interfaz y múltiples implementaciones. En otras palabras, los nombres de

métodos son los mismos, pero tienen diferentes implementaciones basadas en los parámetros que

le son pasados, o en los objetos sobre los cuales son invocados.

Ejemplo.

Las fechas pueden ser creadas de cualquiera de estas formas:

Tres números enteros distintos, es decir, día, mes y año (7, 7, 2007).

Un nexo (‘07/07/2007’), donde cada parte, día, mes y año, debe ser extraída.

Un número entero (07072007), del cual cada parte debe ser extraída.

En el paradigma de programación estructurada se requiere proveer diferentes nombres para las

tres funciones, tales como fechasEnteros, fechasCadenas y fechasLargas. Pero con el concepto de

polimorfismo, se puede proporcionar sólo un nombre, fecha realiza tres diferentes funciones.

Por ejemplo, el área de un triángulo, rectángulo y círculo, son calculados de manera distinta;

sin embargo, en sus clases respectivas puede existir la implementación del área bajo el nombre

común Área. En la práctica y dependiendo del objeto que llame al método, se usará el código

correspondiente.

Abstracción: Es el fundamentos de apreciar las característica básicas de una realidad,

identificando aquellos aspectos que son fundamentales y aquellos de los que podemos disponer.

Rectángulo

Atributos:

lado_1

lado_2

Métodos:

area () = lado_1*lado_2

Figura_Geométrica

Atributos:

Métodos:

area ()

Circulo

Atributos:

radio

Métodos:

area () = Pi*radio*radio

Triángulo

Atributos:

base

altura

Métodos:

area () = (base*altura)/2.0

UNIDAD 1. Programación Orientada a Objetos Ing. Steven Suárez

Última Modificación: 17/07/2014 6

Una abstracción denota las características esenciales de un objeto (datos y operaciones), donde

se capturan sus comportamientos. En los problemas del mundo real siempre se encuentra

presentes un sin números de característica o factores que pueden intervenir o no en el problema, y

a la larga formar parte o quedar fuera de la solución. La abstracción es la técnica que permite

reconocer los elementos esenciales para la solución de un problema dejando de lado los detalles

irrelevantes. Ejemplo representa gráficamente las entidades Círculo, Triángulo y Rectángulo.

Para estas entidades se pide calcular el área de las mismas, luego de aplicar el proceso de

abstracción, se verifica que los atributos color del Círculo, color y tipo del Triángulo, además de

color del rectángulo no son relevantes para el cálculo del área. El ejemplo representa

gráficamente las entidades Círculo, Triángulo y Rectángulo luego del proceso de abstracción. La

abstracción consiste en crear un modelo simplificado de las entidades del mundo real, dejando de

lado lo irrelevante para concentrarse en los esenciales a la solución del problema.

Entidad: Triángulo

Atributos:

Color = Rojo

tipo = rectángulo

base =3.0

altura = 7.0

Métodos:

area () = (base * altura)/ 2.0

Entidad: Rectángulo

Atributos:

color = azul

lado1 = 4.5

lado2 = 3.5

Métodos:

area () = lado1 * lado2

Entidad: Círculo

Atributos:

Color = Verde

Radio = 3.6

Métodos:

area () = pi * radio * radio

UNIDAD 1. Programación Orientada a Objetos Ing. Steven Suárez

Última Modificación: 17/07/2014 7

En forma simple, abstraer es eliminar lo innecesario. Para entender mejor el concepto de

abstracción, se empleará el objeto libro del mundo real. Un libro en una librería se verá diferente

a un libro en una editorial. En la librería, el libro puede ser visto por su nombre, el nombre de la

editorial, fecha de publicación, número de edición, precio y autor. El mismo libro, desde punto de

vista del editor, puede ser observado por su nombre, número de páginas, contenido, área de

impresión y otros aspectos relacionados al libro en edición. En la vida cotidiana, continuamente

se hacen abstracciones, por ejemplo cuando describimos a una persona o cuando hacemos un

mapa para describir cómo se llega a algún sitio.

Herencia: Permite construir objetos a partir de otros objetos. En otras palabras permite la

reusabilidad de objetos. La herencia se basa en la jerarquía del mundo real y del principio de

compartir características comunes, la cual están contenida en una clase, por ejemplo la clase:

Animales se dividen en mamíferos, insectos, aves, peces, entre otros. Al heredar de una clase

mayor llamada: Superclase o Clase Base y las que heredan se les denominan: subclases o Clases

Derivadas, estas clases derivadas heredan, las características de La Clase Base (Atributos y

Entidad: Triángulo

Atributos:

base =3.0

altura = 7.0

Métodos:

area () = (base * altura)/ 2.0

Entidad: Rectángulo

Atributos:

lado1 = 4.5

lado2 = 3.5

Métodos:

area () = lado1 * lado2

Entidad: Círculo

Atributos:

Radio = 3.6

Métodos:

area () = pi * radio * radio

UNIDAD 1. Programación Orientada a Objetos Ing. Steven Suárez

Última Modificación: 17/07/2014 8

Métodos), pero las subclases pueden agregar otras características nuevas, es decir nuevos

atributos y/o nuevos métodos.

Existen dos tipos de Herencia: la herencia simple, donde cada subclase tiene como máximo

una sola superclase.

La herencia simple: Cada clase tiene sólo una superclase. La clase Profesor, la clase Alumno,

la clase Obrero y la clase Empleado heredan las propiedades de la clase Persona (superclase,

herencia simple).

Ejemplos de Herencia Simple

Persona

int dni

String nombre

String dirección

int teléfono

int obtenerDni()

void modificarDni(int dni)

void mostrarPorPantalla()

Alumno

int[] notas

void nuevaNota(int nota)

void listadoNotas()

void mostrarPorPantalla()

Profesor

Asignatura[] asigs

void mostrarPorPantalla()

UNIDAD 1. Programación Orientada a Objetos Ing. Steven Suárez

Última Modificación: 17/07/2014 9

Herencia múltiple: Cada clase puede tener asociada varias superclases. La clase Preparador

(subclase) hereda propiedades de la clase Docente y de la clase Estudiante (herencia múltiple).

Ejemplos de Herencia Múltiple

Animal

Animal Terrestre Animal Acuático

Animal Anfibio

Profesor Estudiante

Preparador

Nota: En Java una clase solo puede tener una súper clase. Esto significa que una clase en Java no

puede directamente derivar de varias clases. Sin embargo, Java soporta herencia múltiple

indirectamente usando interfaces.

Encapsulamiento: Es la propiedad del Enfoque Orientado a Objetos (EOO) que permite ocultar

al mundo exterior la representación interna del objeto. Esto quiere decir que el objeto puede ser

UNIDAD 1. Programación Orientada a Objetos Ing. Steven Suárez

Última Modificación: 17/07/2014 10

utilizado, pero los datos esenciales del mismo no son conocidos fuera de él. La idea central del

encapsulamiento está estrechamente relacionada con el principio de ocultamiento de información,

ya que consiste en esconder los detalles y mostrar lo relevante. Permite el ocultamiento de la

información separando el aspecto correspondiente a la especificación de la implementación; de

esta forma, distingue el “qué hacer” del “cómo hacer”. La especificación es visible al usuario,

mientras que la implementación se la oculta. El encapsulamiento en un sistema orientado a objeto

se representa en clase u objeto, definiendo sus atributos y métodos.

Es el concepto que ayuda a mantener juntos los datos (atributos) y las funciones o

procedimientos (métodos) que operan sobre estos. Se divide en dos partes:

Interna: La información que necesita el objeto para operar y que es innecesario para los demás

objetos de la aplicación. Estos atributos se denominan privados y tienen como marco de

aplicación únicamente a las operaciones asociadas al objeto.

Externa: La que necesita el resto de los objetos para interactuar con el objeto que definimos.

Estas propiedades se denominan públicas y corresponde a la información que necesitan conocer

los restantes objetos de la aplicación respecto del objeto definido para poder operar.

Atributos: Son los datos o variables que caracterizan al objeto y cuyos valores en un momento

dado indican su estado. Un atributo es una característica de un objeto. Mediante los atributos se

define información oculta dentro de un objeto, la cual es manipulada solamente por los métodos

definidos sobre dicho objeto. Un atributo consta de un nombre y un valor. Cada atributo está

asociado a un tipo de dato, que puede ser simple (entero, real, lógico, carácter, string) o

estructurado (arreglo, registro, archivo, lista, entre otros.).

La sintaxis es la siguiente:

Mode_Acceso Tipo_Dato Nombre_Atibuto

Métodos: es un conjunto de instrucciones definidas dentro de una clase, que realizan una

determinada tarea y a las que podemos invocar mediante un nombre. Los métodos constituyen la

secuencia de acciones que implementan las operaciones sobre los objetos. La implementación de

los métodos no es visible fuera de objeto.

Se usan para tener acceso y manipular las variables. Usualmente, los métodos se usan para

asignar, recuperar, o cambiar los valores almacenados en una variable.

UNIDAD 1. Programación Orientada a Objetos Ing. Steven Suárez

Última Modificación: 17/07/2014 11

La sintaxis es la siguiente:

Mode_Acceso Tipo_Dato Nombre_Método (Lista de parámetros)

Modificadores de Acceso: Definen los permisos atributos y métodos de una clase. Los

modificadores de acceso son: public, prívate, protected, y package.

Modificadores de Acceso public (+, ): Indica que los atributos y métodos será visible tanto

dentro como fuera de la clase, es decir, es accesible desde todos lados.

Modificadores de Acceso prívate (-, ): Indica que los atributos y métodos sólo sea visible

para la propia clase que lo utiliza.

Modificadores de Acceso protected (#, ): No será accesible desde fuera de la clase, pero si

podrá ser accesado por la clase en la que esta definidas, sus subclases que se derivan y las clases

presentes en el mismo paquete.

Modificadores de Acceso package (~, ) Se usa cuando no se especifica ni public, ni

protected, ni prívate como nivel de acceso. De una variable o un método o una clase, entonces

por defecto, el nivel de acceso se asume como package. Esto significa que todas las clases que

están presentes en el mismo paquete pueden acceder a las variables y métodos de la clase

accedida. Un paquete es similar a un módulo.

Los distintos modificadores de acceso quedan resumidos en la siguiente tabla:

Modificadores de acceso

La misma

clase

Otra clase del mismo

paquete

Subclase de otro

paquete

Otra clase de otro

paquete

public Si Si Si Si

protected Si Si Si No

package Si Si No No

private Si No No No

UNIDAD 1. Programación Orientada a Objetos Ing. Steven Suárez

Última Modificación: 17/07/2014 12

Junto al modificador de acceso pueden aparecer otros modificadores aplicables a clases,

atributos y métodos:

MODIFICADOR EFECTO APLICABLE A

abstract

Aplicado a una clase, la declara como clase

abstracta. No se pueden crear objetos de una clase

abstracta. Solo pueden usarse como superclases.

Aplicado a un método, la definición del método se

hace en las subclases.

Clases

Métodos

final

Aplicado a una clase significa que no se puede

extender (heredar), es decir que no puede tener

subclases.

Aplicado a un método significa que no puede ser

sobrescrito en las subclases.

Aplicado a un atributo significa que contiene un

valor constante que no se puede modificar

Clases

Atributos

Métodos

static

Aplicado a un atributo indica que es una variable

de clase. Esta variable es única y compartida por

todos los objetos de la clase.

Aplicado a un método indica que se puede invocar

sin crear ningún objeto de su clase.

Atributos

Métodos

volatile Un atributo volatile puede ser modificado por

métodos no sincronizados en un entorno multihilo. Atributos

transient Un atributo transient no es parte del estado

persistente de las instancias. Atributos

Sincronizad Métodos para entornos multihilo. Métodos

Tipos de Datos: Existen dos tipos de datos en Java: Primitivos y Referencia

Tipos Primitivos: Son aquellos tipos de información más usuales y básicos, son los habituales de

otros lenguaje de programación.

Boolean: No es un valor numérico, solo admite los valores true o false 1 byte (8 bits).

Char: Usa el código Unicode. Comprende el código ASCII y ocupa cada carácter 2 byte

(16 bits).

Enteros: Difieren en las precisiones y pueden ser positivos o negativos.

Byte: 1 byte. Valor entero entre -128 y 127

Short: 2 bytes. Valor entero entre -32768 y 32767

UNIDAD 1. Programación Orientada a Objetos Ing. Steven Suárez

Última Modificación: 17/07/2014 13

Int: 4 bytes. Valor entero entre -2.147.483.648 y 2.147.483.647

Long: 8 bytes. Valor entre -9.223.372.036.854.775.808 y 9.223.372.036.854.775.807

Reales en punto flotante: igual que los enteros también difieren en las precisiones y

pueden ser positivos o negativos.

Float: 4 bytes. (entre 6 y 7 cifras decimales equivalentes). De -3.402823E38 a -

1.401298E-45 y de 1.401298E-45 a 3.402823E38

Double: 8 bytes. (unas 15 cifras decimales equivalentes). De - 1.79769313486232E308 a -

4.94065645841247E-324 y de 4.94065645841247E-324 a 1.79769313486232E308

Las variables float deben terminar con f o F. Ejemplos: float a = 1.1f; double d = 1.1;

Tipos de Referencia: Los tres tipos de referencia provistos por Java son:

Tipo Array (Arreglo).

Tipo Class (Clase).

Tipo Interface (Interfaz).

Ciclo de Vida de un Objeto: El ciclo de vida de un objeto empieza por su declaración, su

instanciación y su uso en un programa Java hasta que finalmente desaparece.

Cuando un objeto deja de ser utilizado Java libera la memoria asignada al objeto y la reutiliza.

El entorno de ejecución de Java decide cuándo puede reutilizar la memoria de un objeto que ha

dejado de ser útil en un programa. El programador no debe preocuparse de liberar la memoria

utilizada por los objetos. A este proceso se le conoce como recolección de basura. Java cuenta

con un sistema recolector de basura (Garbage collector) que se encarga de liberar los objetos y

los espacios de memoria que ocupan cuando estos dejan de ser utilizados.

Constructores de una Clase: Un constructor no es más que un método que tiene el mismo

nombre que la clase. Se usa esencialmente para inicializar un nuevo objeto creado de un tipo

particular. Si el programador no define ningún constructor para una clase, entonces la clase tendrá un

Destruyendo los

objetos luego de

su posterior uso

Creando los

objetos

Usando los

objetos creados

UNIDAD 1. Programación Orientada a Objetos Ing. Steven Suárez

Última Modificación: 17/07/2014 14

constructor por defecto creado por el sistema de tiempo de ejecución. El constructor por defecto no

acepta ningún argumento. Tiene una implementación vacía y no realiza nada. Java permite tener

tantos constructores como se requiere para una clase, la única diferencia será en el número o el

tipo de argumentos para una clase. Esto se denomina sobrecarga del constructor.

Ejemplo:

public class Empleado () {

int id;

String Nombre;

}

public Empleado () {

}

public Empleado (int a) {

id = a;

}

public Empleado (int a, String nom) {

id = a;

Nombre = nom;

}

Sobrecarga de Método: Java permite tener dos o más métodos con el mismo nombre dentro de la

misma clase. Como los constructores, los métodos sobrecargados deben tener un número

diferente de parámetros o diferentes tipos de datos en los parámetros. Esta es una forma de lograr

polimorfismo en Java.

Ejemplo:

viod imprimirResultado (int a, int b) {

System.out.println (a);

System.out.println (b);

}

viod imprimirResultado (int a, char c) {

System.out.println (a);

UNIDAD 1. Programación Orientada a Objetos Ing. Steven Suárez

Última Modificación: 17/07/2014 15

System.out.println(c);

}

viod imprimirResultado (char c, int a) {

System.out.println (a);

System.out.println (b);

}

viod imprimirResultado (int a, int b, int c) {

System.out.println (a);

System.out.println (b);

System.out.println(c);

}

viod imprimirResultado (int a, char c, float f, String s) {

System.out.println (a);

System.out.println (c);

System.out.println (f);

System.out.println (s);

}

Convenciones de nombres: Las convenciones de nombres hacen los programas más entendibles

haciéndolos más fácil de leer. También pueden dar información sobre la función de un

identificador, por ejemplo, cuando es una constante, un paquete, o una clase, que puede ser útil

para entender el código.

Tipos de identificadores Reglas para nombres Ejemplos

Paquetes

El prefijo del nombre de un paquete

se escribe siempre con letras ASCII

en minúsculas, y debe ser uno de

los nombres de dominio de alto

nivel, actualmente com, edu, gov,

mil, net, org, o uno de los códigos

ingleses de dos letras que

identifican cada país como se

especifica en el ISO Standard 3166,

com.sun.eng

com.apple.quicktime.v2

edu.cmu.cs.bovik.cheese

UNIDAD 1. Programación Orientada a Objetos Ing. Steven Suárez

Última Modificación: 17/07/2014 16

1981. Los subsecuentes

componentes del nombre del

paquete variarán de acuerdo a las

convenciones de nombres internas

de cada organización. Dichas

convenciones pueden especificar

que algunos nombres de los

directorios correspondan a

divisiones, departamentos,

proyectos o máquinas.

Clases

Los nombres de las clases deben ser

sustantivos, cuando son compuestos

tendrán la primera letra de cada

palabra que lo forma en

mayúsculas. Intentar mantener los

nombres de las clases simples y

descriptivas. Usar palabras

completas, evitar acrónimos y

abreviaturas (a no ser que la

abreviatura sea mucho más

conocida que el nombre completo,

como URL or HTML).

class Cliente;

class ImagenAnimada;

Interfaces

Los nombres de las interfaces

siguen la misma regla que las

clases.

interface

ObjetoPersistente;

interface Almacen;

Métodos

Los métodos deben ser verbos,

cuando son compuestos tendrán la

primera letra en minúscula, y la

primera letra de las siguientes

palabras que lo forma en mayúscula

ejecutar();

ejecutarRapido();

cogerFondo();

Variables

Excepto las constantes, todas las

instancias y variables de clase o

método empezarán con minúscula.

Las palabras internas que lo forman

(si son compuestas) empiezan con

su primera letra en mayúsculas. Los

nombres de variables no deben

empezar con los caracteres

subguión "_" o signo del dólar "$",

aunque ambos están permitidos por

el lenguaje. Los nombres de las

variables deben ser cortos pero con

int i;

char c;

float miAnchura;

UNIDAD 1. Programación Orientada a Objetos Ing. Steven Suárez

Última Modificación: 17/07/2014 17

significado. La elección del nombre

de una variable debe ser un

mnemónico, designado para indicar

a un observador casual su función.

Los nombres de variables de un

solo carácter se deben evitar,

excepto para variables índices

temporales. Nombres comunes para

variables temporales son i, j, k, m,

y n para enteros; c, d, y e para

caracteres.

Constantes

Los nombres de las variables

declaradas como constantes deben

ir totalmente en mayúsculas

separando las palabras con un

subguión ("_"). (Las constantes

ANSI se deben evitar, para facilitar

su depuración.)

static final int

ANCHURA_MINIMA = 4;

static final int

ANCHURA_MAXIMA = 999;

static final int

COGER_LA_CPU = 1;