Conceptos Basicos POO
Enviado por ivandefoe1995 • 11 de Febrero de 2015 • 1.679 Palabras (7 Páginas) • 383 Visitas
Programación OO.
La programación orientada a Objetos básicamente define una serie de conceptos y técnicas de programación para representar acciones o cosas de la vida real basada en objetos, a diferencia de otras formas de programación como por ejemplo la estructurada, con la POO trabajamos de manera distinta vinculando diferentes conceptos tales como clases, objetos, métodos, propiedades, estados, herencia, encapsulación entre otros, generando cada vez interrelaciones en nuestro desarrollo en pro del funcionamiento del sistema principal, definiendo el programa como un conjunto de estos objetos relacionados entre si.
Veamos algunos de los conceptos principales.....
Clases.
Las clases son uno de los principales componentes de un lenguaje de programación, pues en ellas ocurren todos los procesos lógicos 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. (Ver Ejemplo...)
una clase se compone por tres partes fundamentales:
Nombre : Contiene el Nombre de la Clase.
Atributos : Representan las propiedades que caracterizan la clase.
Métodos : Representan el comportamiento u operaciones, la forma como interactúa la clase con su entorno.
En java se representa así :
1
2
3
4
5
6
7
8
9
10
11 /**Principal define el nombre de la Clase*/
public class Principal {
public String atributo="Esto es un atributo";
/**Esto es un método, donde se definen las operaciones*/
public void metodo(){
/**aqui van las sentencias que definen
* el comportamiento del método*/
}
}
Objeto.
Los objetos representan una entidad concreta o abstracta del mundo real, en programación básicamente se le conoce como la instancia de una clase 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 características con valores concretos del objeto. Comportamiento : Se define por los métodos u operaciones que se pueden realizar con el. Identidad : Es la propiedad única que representa al objeto y lo diferencia del resto.
en la imagen, los moldes representan las clases, mientras que las galletas obtenidas de estos moldes representan los objetos instancias de estas clases, por ejemplo atributos del objeto galleta podría ser sabor, color, tamaño etc......
En java se representa creando una instancia de la clase por medio de la palabranew al hacer eso creamos el objeto de la clase y podemos hacer uso de los métodos o atributos de esta (dependiendo de la visibilidad de los mismos ) por medio de un punto (.) así:
1
2
3
4 /**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();
Herencia.
La herencia en java representa lo que conocemos de herencia en el mundo real, básicamente mediante esta obtenemos las características o rasgos comunes de nuestros padres o abuelos, en java es el mismo enfoque permitiendo la creación de nuevas clases basadas en clases ya existentes, con las cuales podemos obtener las características de las clases padres, heredando campos, atributos, métodos o funcionalidades.
En Java solo se puede heredar de una sola clase padre y se representa mediante la palabra extends (Ver Ejemplo...)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 public class Animal{
public String tamaño;
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.....*/
}
}
Encapsulamiento.
Este concepto es uno de los mas importantes en términos de seguridad dentro de nuestra aplicación, la encapsulación es la forma de proteger nuestros datos dentro del sistema, estableciendo básicamente los permisos o niveles de visibilidad o acceso de nuestros datos
Se representa por 3 niveles :
Público: Se puede acceder a todos los atributos o métodos de la clase. Protegido: Se puede acceder a los atributos o métodos solo en la misma jerarquía de herencia. Privado: Solo se puede acceder a los atributos o métodos de la clase en la que se encuentran.
con la Encapsulación mantenemos nuestros datos seguros, ya que podemos evitar que por ejemplo se hagan modificaciones al estado o comportamiento de un objeto desde una clase externa, una buena practica es trabajar con métodos setter y getter que permiten manipular nuestros datos de forma segura.
en Java lo representamos así:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 public class Principal{
public String atributo1;
private String atributo2;
protected String atributo3;
/**Métodos Set y Get para trabajar con las variables*/
public String getAtributo2() {
return atributo2;
}
public void setAtributo2(String atributo2) {
this.atributo2 = atributo2;
}
}
Clases Abstractas.
La abstracción permite resaltar la parte mas representativa de algo, ignorando detalles para centrarse en lo principal.
La imagen es muy fácil de identificar, con base a ella podemos crear una clase persona, o la
clase hombre, humano entre otras, pero obviamente vemos que la imagen no tiene elementos como ojos, nariz, boca,
...