Sie sind auf Seite 1von 12

FUNDAMENTO TEORICO

La programacin orientada a objetos, permite descomponer de una manera


fcil un problema en subgrupos de partes relacionadas del problema (partes
de un todo). Entonces, utilizando el lenguaje se pueden traducir estos
subgrupos a unidades auto contenidas llamadas objetos. Este tipo de
programacin bsicamente define una serie de conceptos y tcnicas de
programacin para representar acciones o cosas de la vida real basada en
objetos, a diferencia de otras formas de programacin como por ejemplo la
estructurada (Lenguaje C), Se puede hablar de programacin Orientada a
Objetos cuando se renen las caractersticas de: abstraccin,
encapsulamiento, herencia y polimorfismo; y los conceptos bsicos que
las forman: objetos, clases, constructores, instancias y mtodos.
La POO representa una metodologa de programacin que se basa en las
siguientes caractersticas:
1) Los diseadores definen nuevas clases (o tipos) de objetos.
2) Los objetos poseen una serie de operaciones asociadas a ellos.
3) Las operaciones tienden a ser genricas, es decir, operan sobre mltiples
tipos de datos.
4) Las clases o tipos de objetos comparten componentes comunes mediante
mecanismos de herencia.

Que es un Objeto?

Una entidad de programa que consiste en datos y todos aquellos


procedimientos que pueden manipular aquellos datos; el acceso a los datos
de un objeto es solamente a travs de estos procedimientos, nicamente
estos procedimientos pueden manipular, referenciar y/o modificar estos
datos. Los objetos representan una entidad concreta o abstracta del mundo
real, en programacin bsicamente se le conoce como la instancia de una
clase (estos tambin almacenan direcciones de memoria paso por
referencia) en si es lo que da el sentido a estas.
Al igual que las clases se componen de tres partes fundamentales:
Estado: Representa los atributos o caractersticas con valores concretos del
objeto.
Comportamiento : Se define por los mtodos u operaciones que se pueden
realizar con l, estos tambin permiten modificar el estado del objeto.

Identidad : Es la propiedad nica que representa al objeto y lo diferencia


del resto.
En java un objeto se representa creando una instancia de la clase por medio
de la palabra new al hacer eso creamos el objeto de la clase y podemos
hacer uso de los mtodos o atributos de esta (dependiendo de la visibilidad
de los mismos ) por medio de un punto (.)
/*Creamos el objeto como instancia de la clase Principal*/
Principal miObjeto= new Principal();
miObjeto.atributo="Este es el nuevo valor del atributo para
el objeto";
miObjeto.metodo();
En este ejemplo de cdigo se puede observar que se est creando un objeto
de la clase Principal llamado miObjeto. Mediante este objeto creado se puede
acceder a los mtodos implementados en esta clase mediante el (.).

Que es una Clase?

Las clases son uno de los principales componentes de un lenguaje de


programacin, pues en ellas ocurren todos los procesos lgicos requeridos
para un sistema, en si podemos definirlas como estructuras que representan
objetos del mundo real, tomando como objetos a personas, lugares o cosas,
en general las clases poseen propiedades, comportamientos y relaciones con
otras clases del sistema. Podemos considerar una clase como una coleccin
de objetos que poseen caractersticas y operaciones comunes (el mismo
comportamiento; atributos y mtodos).
Una clase se compone por tres partes fundamentales:
Nombre :
Contiene
el
Nombre
de
la
Clase.
Atributos : Representan las propiedades que caracterizan la clase.
Mtodos : Representan el comportamiento u operaciones, la forma como
interacta la clase con su entorno.
Hay que tener
codificacin, para

en

cuenta que
las
clases

Java
se

posee unos estndares de


define
lo
siguiente:

-La
primera
letra
debe
ser
mayscula.
-Utilizar nomenclatura camelCase (por ejemplo: un nombre compuesto por

varias
palabras
:
-Los nombres deben ser sustantivos.

clase

"GestionFichas")

/*Principal define el nombre de la Clase*/


public class Principal {
public String
Princpal";

atributo="Este

es

un

atributo

de

la

clase

/*Esto es un mtodo, donde se definen las operaciones*/


public void metodo(){
/*aqui van las sentencias que definen
* el comportamiento del mtodo*/
}
}

Que son los Atributos?

Los atributos son las caractersticas individuales que diferencian a un objeto


de otro y determinan su apariencia, estado u otras cualidades. Los atributos
se guardan en variables denominadas de instancia, y cada objeto particular
puede tener valores distintos para estas variables.
Las variables de instancia tambin denominados miembros dato, son
declaradas en la clase pero sus valores son fijados y cambiados en el objeto.
Adems de las variables de instancia hay variables de clase, las cuales se
aplican a la clase y a todas sus instancias. Por ejemplo, el nmero de ruedas
de un automvil es el mismo cuatro, para todos los automviles.
MODIFICADORES DE ACCESO JAVA: PUBLIC, PRIVATE, PROTECTED
Los modificadores de acceso permiten dar un nivel de seguridad mayor a
nuestras aplicaciones restringiendo el acceso a diferentes atributos,
mtodos, constructores asegurndonos que el usuario deba seguir una "ruta"
especificada por nosotros para acceder a la informacin.

Que son los constructores?

La manera de inicializar un objeto con atributos privados est restringida a la


definicin de un mtodo que asigne unos valores iniciales. Una forma mejor
de realizar este procedimiento consiste en definir un constructor, que es una
funcin miembro especial que tiene el mismo nombre que la clase.
Cuando se construye un objeto es necesario inicializar sus variables con
valores coherentes. La solucin en los lenguajes orientados a objetos es
emplear los constructores. Un constructor es un mtodo perteneciente a la
clase que posee unas caractersticas especiales:

Se llama igual que la clase.

No devuelve nada, ni siquiera void.

Pueden existir varios, pero siguiendo las reglas de la sobrecarga de


funciones.

De entre los que existan, tan slo uno se ejecutar al crear un objeto
de la clase.

Dentro del cdigo de un constructor generalmente suele existir


inicializaciones de variables y objetos, para conseguir que el objeto sea
creado con dichos valores iniciales.
Para definir los constructores se emplea la siguiente sintaxis:

[modifVisibilidad]
(listaParmetros) [throws listaExcepciones]

nombreConstructor

{
}
Para modifVisibilidad se aplica las mismas normas que para atributos y
mtodos:

public: indica que es un mtodo accesible a travs de una instancia del


objeto.

private: indica que a travs de una instancia no es accesible el


mtodo. Al heredar el mtodo se convierte en inaccesible.

protected: indica que a travs de una instancia no es accesible el


mtodo. Al heredar si se puede usar desde la clase derivada.

Sin especificar: indica visibilidad de paquete, se puede acceder a


travs de una instancia, pero slo de clases que se encuentren en el
mismo paquete.

nombreConstructor debe de coincidir con el nombre de la clase.

class Persona
{
//ATRIBUTOS
private String nombre;
private int edad;
private String empleo;
private double salario;
//CONSTRUCTORES
public Persona() {
this.nombre = null;
this.edad = 0;
this.empleo = null;
this.salario = 0.0;
} //CONSTRUCTOR SIN PARMETROS
public Persona(String nombre, int edad, String empleo, double
salario)
{

asignarNombre(nombre);
asignarEdad(edad);
asignarEmpleo(empleo);
asignarSalario(salario);
}
//...
}
La palabra reservada que es una referencia es: this apunta al objeto usado
para la llamada al mtodo.
Es til en caso de conflicto entre identificadores de distintos mbitos.

Que son los mtodos?

Un mtodo es un conjunto de funciones, el acceso de los atributos se los


realiza siempre a travs de los mtodos de los objetos. Consiste en la
implementacin en una clase de un protocolo de respuesta a los mensajes
dirigidos a los objetos de la misma. La respuesta a tales mensajes puede
incluir el envo por el mtodo de mensajes al propio objeto y aun a otros,
tambin como el cambio del estado interno del objeto.
Algunos mtodos que hemos utilizado hasta ahora:
Math.pow()
Math.sqrt()
Character.isDigit()
- System.out.println();
ESTRUCTURA
GENERAL
DE
UN
MTODO
JAVA
La estructura general de un mtodo Java es la siguiente:
[especificadores] tipoDevuelto nombreMetodo([lista parmetros]) [throws
listaExcepciones]
{
// instrucciones
[return valor;]
}
Los elementos que aparecen entre corchetes son opcionales.
especificadores (opcional): determinan el tipo de acceso al mtodo. Se
vern en detalle ms adelante.
tipoDevuelto: indica el tipo del valor que devuelve el mtodo. En Java es
imprescindible que en la declaracin de un mtodo, se indique el tipo de
dato que ha de devolver. El dato se devuelve mediante la instruccin return.
Si el mtodo no devuelve ningn valor este tipo ser void.

nombreMetodo: es el nombre que se le da al mtodo. Para crearlo hay que


seguir las mismas normas que para crear nombres de variables.
Lista de parmetros (opcional): despus del nombre del mtodo y siempre
entre parntesis puede aparecer una lista de parmetros (tambin llamados
argumentos) separados por comas. Estos parmetros son los datos de
entrada que recibe el mtodo para operar con ellos. Un mtodo puede recibir
cero o ms argumentos. Se debe especificar para cada argumento su
tipo. Los parntesis son obligatorios aunque estn vacos.
throws listaExcepciones (opcional): indica las excepciones que puede
generar y manipular el mtodo.
return: se utiliza para devolver un valor. La palabra clave return va seguida
de una expresin que ser evaluada para saber el valor de retorno. Esta
expresin puede ser compleja o puede ser simplemente el nombre de un
objeto, una variable de tipo primitivo o una constante.
El tipo del valor de retorno debe coincidir con el tipoDevuelto que se ha
indicado en la declaracin del mtodo.
Si el mtodo no devuelve nada (tipoDevuelto = void) la instruccin return es
opcional.
Un mtodo puede devolver un tipo primitivo, un array, un String o un objeto.
Un mtodo tiene un nico punto de inicio, representado por la llave de inicio
{. La ejecucin de un mtodo termina cuando se llega a la llave final } o
cuando se ejecuta la instruccin return.
La instruccin return puede aparecer en cualquier lugar dentro del mtodo,
no tiene que estar necesariamente al final.
IMPLEMENTACIN DE MTODOS EN JAVA
Pasos para implementar un mtodo:
1.
Describir lo que el mtodo debe hacer
2.

Determinar las entradas del mtodo

3.

Determinar los tipos de las entradas

4.

Determinar el tipo del valor retornado

5.

Escribir las instrucciones que forman el cuerpo del mtodo

6.

Prueba del mtodo: disear distintos casos de prueba

PILARES DE POO.
1.

ABSTRACCION:

La abstraccin permite resaltar la parte ms representativa de algo,


ignorando detalles para centrarse en lo principal (extraer lo ms importante
y utilizarlo para mejorar el programa).

La Abstraccin en java solo tiene lgica mediante la Herencia, ya que una


clase abstracta posee al menos un mtodo abstracto el cual no tiene
implementacin, el comportamiento de estos mtodos lo definen las clases
concretas que lo hereden. La abstraccin es una herramienta muy potente
en programacin, pues reduce considerablemente el trabajo de
implementacin y aumenta la portabilidad del cdigo. La programacin
orientada a objetos aporta elementos para abstraer el problema en dos
sentidos:

Por un lado nos permite referirnos a objetos para representar la


realidad, describiendo el problema en trminos del problema en
lugar de en trminos de la solucin. En un programa de gestin
comercial, tendremos el objeto cliente o el objeto factura, que no son
ms que representaciones de otros objetos en el espacio del problema.

La clave de la programacin orientada a objetos est en abstraer los


mtodos y los datos comunes a un conjunto de objetos y agruparlos en
una clase. Gracias a este nivel de abstraccin, aadir o eliminar un
objeto nuevo supondr muy poco esfuerzo.

public abstract class Principal{


/**Mtodo Abstracto sin implementacin*/
public abstract void metodoAbstracto();
}
class subClase extends Principal{
@Override
public void metodoAbstracto() {
/**Implementacin definida por la clase concreta*/
}
}

2. ENCAPSULAMIENTO:
Es una tcnica que permite localizar y ocultar los detalles de un objeto. La
encapsulacin previene que un objeto sea manipulado por operaciones
distintas de las definidas. La encapsulacin es como una caja negra que
esconde los datos y solamente permite acceder a ellos de forma controlada.
El encapsulamiento es uno de los ms importantes en trminos de seguridad

dentro de nuestra aplicacin, la encapsulacin es la forma de proteger


nuestros datos dentro del sistema, estableciendo bsicamente los permisos o
niveles de visibilidad o acceso de nuestros datos (definir el comportamiento
y
atributos
de
un
objeto
para
ponerlo
en
una
clase).
Se

representa

por

niveles

Pblico: Se puede acceder a todos los atributos o mtodos de la clase.


Protegido: Se puede acceder a los atributos o mtodos solo en la misma
jerarqua de herencia.
Privado: Solo se puede acceder a los atributos o mtodos de la clase en la
que
se
encuentran.
para
acceder
a
estos
objetos
se
puede
hacerlo
con
los mtodos setter y getter que permiten manipular nuestros datos de
forma segura.
public class Principal{
public String atributo1;
private String atributo2;
protected String atributo3;
/**Mtodos Set y Get para trabajar con las variables*/
public String getAtributo2() {
return atributo2;
}
public void setAtributo2(String atributo2) {
this.atributo2 = atributo2;
}
}
3. HERENCIA:
La herencia es un proceso mediante el cual un objeto puede adquirir las
propiedades de otro objeto, en java se enfoca permitiendo la creacin de
nuevas clases basadas en clases ya existentes, con las cuales podemos
obtener las caractersticas de las clases padres, heredando campos,
atributos,
mtodos
o
funcionalidades.
En Java solo se puede heredar de una clase padre y se representa mediante
la palabra extends, tambin se debe tener claro que solo se puede heredar
de una sola clase pues el lenguaje no permite la Herencia mltiple (En Java

por defecto todas las clases heredan de la clase Object, es decir, esta es la
clase Padre de todas las clases en Java).
Cada vez que encontremos la relacin "es-un" entre dos clases, estamos
ante la presencia de herencia.
public class Animal{
public String tamao;
public void comer(){
/**Comportamiento.....*/
}
}
class Perro extends Animal{
public int dientes;
public void correr(){
/**Comportamiento.....*/
}
}
class Paloma extends Animal{
public int plumas;
public void volar(){
/**Comportamiento.....*/
}
}
4. POLIMORFISMO:
Mediante el polimorfismo se programa de forma general en lugar de hacerlo
de forma especfica, se usa cuando se trabaja con la herencia y objetos de
caractersticas comunes los cuales comparten la misma superClase y rbol
jerrquico, al trabajar con este concepto optimizamos y simplificamos en
gran medida nuestro trabajo. Como su mismo nombre lo sugiere mltiples
formas, se refiere a la posibilidad de acceder a un variado rango de
funciones distintas a travs del mismo interfaz.
CARACTEISTICAS:
La principal caracterstica de la herencia entre clases se denomina
polimorfismo.

El polimorfismo permite que el programador que utiliza estas clases


pueda trabajar con la clase base y posteriormente utilizar la clase
derivada sin necesidad de reprogramar nada.
El nombre del mtodo reside en la clase base
Los distintos cuerpos del mtodo residen en las clases derivadas

class FiguraGeometrica{
}
class Cuadrado extends FiguraGeometrica {
}
class Triangulo extends FiguraGeometrica {
}
class Circulo extends FiguraGeometrica{
}
public class Principal{
public void metodo(){
/**Puedo crear objetos concretos*/
FiguraGeometrica miFiguraGeometrica = new FiguraGeometrica();
Cuadrado miCuadro=new Cuadrado();
/**Puedo crear objetos polimorficos*/
miFiguraGeometrica=miCuadro;
/**Objeto Cuadrado de tipo FiguraGeometrica*/
FiguraGeometrica miCuadrado= new Cuadrado();
/**Objeto Circulo de tipo FiguraGeometrica*/
FiguraGeometrica miCirculo=new Circulo();
/**Objeto Triangulo de tipo FiguraGeometrica*/
FiguraGeometrica miTriangulo=new Triangulo();
}
}

https://algonzalezpoo.wordpress.com/que-es-poo/
http://codejavu.blogspot.com/2013/05/conceptos-de-programacion-orientada.html
http://aprenderaprogramar.com/index.php?
option=com_content&view=category&id=68&Itemid=188

http://www.mundojava.net/definicion-de-constructores-de-una-clase.html?
Pg=java_inicial_4_4_5.html
http://www.sc.ehu.es/sbweb/fisica/cursoJava/fundamentos/clases1/clases.htm
http://puntocomnoesunlenguaje.blogspot.com/2012/04/metodos.html
http://www.ciberaula.com/articulo/abstraccion/
http://profesores.elo.utfsm.cl/~agv/elo330/2s05/lectures/JAVA/Herencia_en_Java.htm
l
http://apdaza-poo.blogspot.com/2007/09/conceptos-bsicos-de-poo.html
http://dis.um.es/~jfernand/0506/dai/poo.pdf

Das könnte Ihnen auch gefallen