Programacion orientada aobjetos

Solo disponible en BuenasTareas
  • Páginas : 9 (2115 palabras )
  • Descarga(s) : 0
  • Publicado : 17 de diciembre de 2010
Leer documento completo
Vista previa del texto
REVISIÓN DE PROGRAMACIÓN ORIENTADA A OBJETOS

Clases y Objetos

Clase
Una clase es una agrupación de datos (variables o campos) y de funciones (métodos) que operan sobre esos datos. La definición de una clase se realiza en la siguiente forma:
[public] class Classname {
// definición de variables y métodos
...
}
donde la palabra public es opcional: si no se pone, la clase tiene lavisibilidad por defecto, esto es, sólo es visible para las demás clases del package. Todos los métodos y variables deben ser definidos dentro del
bloque {...} de la clase.
Objeto
Un objeto (en inglés, instance) es un ejemplar concreto de una clase. Las clases son como tipos de variables, mientras que los objetos son como variables concretas de un tipo determinado.

Classname unObjeto;
ClassnameotroObjeto;

A continuación se enumeran algunas características importantes de las clases:

1. Todas las variables y funciones de Java deben pertenecer a una clase. No hay variables y funciones globales.

2. Si una clase deriva de otra (extends), hereda todas sus variables y métodos.

3. Java tiene una jerarquía de clases estándar de la que pueden derivar las clases que crean los usuarios.4. Una clase sólo puede heredar de una única clase (en Java no hay herencia múltiple). Si al definir una clase no se especifica de qué clase deriva, por defecto la clase deriva de Object. La clase Object es la base de toda la jerarquía de clases de Java.

5. En un fichero se pueden definir varias clases, pero en un fichero no puede haber más que una clase public. Este fichero se debe llamarcomo la clase public que contiene con extensión
*.java. Con algunas excepciones, lo habitual es escribir una sola clase por fichero.

6. Si una clase contenida en un fichero no es public, no es necesario que el fichero se llame como la clase.

7. Los métodos de una clase pueden referirse de modo global al objeto de esa clase al que se aplican por medio de la referencia this.

8. Las clasesse pueden agrupar en packages, introduciendo una línea al comienzo del fichero
(package packageName;). Esta agrupación en packages está relacionada con la jerarquía de directorios y ficheros en la que se guardan las clases.

Herencia y Polimorfismo

Herencia
Se puede construir una clase a partir de otra mediante el mecanismo de la herencia. Para indicar que una clase deriva de otra seutiliza la palabra extends, como por ejemplo:
class CirculoGrafico extends Circulo {...}

Cuando una clase deriva de otra, hereda todas sus variables y métodos.
Estas funciones y variables miembro pueden ser redefinidas (overridden) en la clase derivada, que puede también definir o añadir nuevas variables y métodos. En cierta forma es como si la sub-clase (la clase derivada) “contuviera” un objetode la super-clase; en realidad lo “amplía” con nuevas variables y métodos.

Java permite múltiples niveles de herencia, pero no permite que una clase derive de varias (no es posible la herencia múltiple). Se pueden crear tantas clases derivadas de una misma clase como se quiera. Todas las clases de Java creadas por el programador tienen una super-clase. Cuando no se indica explícitamente unasuper-clase con la palabra extends, la clase deriva de java.lang.Object, que es la clase raíz de toda la jerarquía de clases de Java. Como consecuencia, todas las clases tienen algunos métodos que han heredado de Object.

Polimorfismo
El concepto de Polimorfismo es uno de los fundamentos para cualquier lenguaje orientado a Objetos, las mismas raíces de la palabra pueden ser una fuerte pista de susignificado: Poli = Multiple, morfismo= Formas , esto implica que un mismo Objeto puede tomar diversas formas.
A través del concepto de Herencias ("Inheritance") es posible ilustrar este comportamiento:

El poder manipular un Objeto como si éste fuera de un tipo genérico otorga mayor flexibilidad al momento de programar con Objetos, el término Polimorfismo también es asociado con un...
tracking img