2. CONCEPTOS BÁSICOS DE LA POO
El objeto - orientado es un paradigma de programación donde se tejen la lógica y
los datos del programa . Como afirmó Phil Ballard , es una forma de conceptualizar
los datos de un programa en "cosas" separadas conocidas como objetos, cada uno
con sus propias propiedades y métodos.
A continuación Definiré los conceptos mas fundamentales que se usan en la
«POO», así como un ejemplo de cada uno de ellos los cuales son los siguientes:
Objetos
•Clases
•Abstracción
•Cohesión
•Ocultamiento de Información(Encapsulación)
•Herencia
•Clases Abstractas
•Interfaces
•Polimorfismo
•Acoplamiento
•Asociaciones de Objetos
3. OBJETOS
Un objeto tiene un estado, un comportamiento y una identidad; la
estructura y el comportamiento es similar en los objetos definidos
de una misma clase. Los objetos son las entidades básicas de
tiempo de ejecución en un sistema orientado a objetos. Pueden
representar una persona, un lugar, o cualquier elemento que el
programa tiene que manejar.
"El objeto es una instancia de una clase."
Ejemplo:
4. CLASES
Una clase es “Un conjunto de objetos que comparten una
estructura en común y un comportamiento común” es
simplemente una representación de un tipo de objeto. Es el
la plantilla que describe los detalles de un objeto. Una clase
es el anteproyecto de la que se crean los objetos
individuales Class se compone de tres cosas:. Un
nombre, atributos y operaciones. Ejemplo:
5. Otro ejemplo de uso de clases:
Public class Estudiante { }
De acuerdo con la muestra se indican a
continuación, podemos decir que el Student objeto, llamado
objectStudent ha sido creado a partir del Student clase.
Estudiante objectStudent = new Alumno ();
6. ABSTRACCIÓN
La abstracción es "Representar a la característica esencial y sin
representación de los detalles del fondo." Abstracción le permite
centrarse en lo que hace el objeto en lugar de cómo lo hace. La
abstracción que proporciona una visión generalizada de sus
clases u objetos, proporcionando información relevante.
La abstracción es el proceso de ocultar el estilo de trabajo de un
objeto, y que muestra la información de un objeto de una manera
comprensible.
Ejemplo:
7. COHESIÓN
Cohesión es “Es la medida de cuanto una entidad (componente
o clase) se encuentra especializada en propósito único dentro de
un sistema”. Ejemplo:
8. ENCAPSULAMIENTO
La encapsulación es como encerrar en una cápsula. Es decir que
encierran las operaciones y los datos relacionados con un objeto
en ese objeto relacionados. La encapsulación significa ocultar los
detalles internos de un objeto, es decir, cómo un objeto hace algo.
La encapsulación impide que los clientes ver su vista en el
interior, donde se implementa el comportamiento de la abstracción.
La encapsulación es una técnica utilizada para proteger la
información de un objeto desde el otro objeto.
Ocultar los datos de seguridad, tales como hacer las variables
como private , y exponer la propiedad para acceder a la private de
datos que sería public . La encapsulación es como su bolsa en la
que usted puede mantener su pluma, libro, etc Esto significa que se
trata de la propiedad de los miembros y funciones de
encapsulación.
Ejemplo:
9. El ocultamiento de la información es el proceso de ocultar
los detalles de implementación del cliente al servicio.
10. HERENCIA
Cuando una clase adquieren la propiedad de otra clase, que se
conoce como herencia. La herencia es el proceso de reutilización
de objetos. La herencia es “un mecanismo en el cual una clase es
definida en términos de una clase existente, y se le agregan
características propias”.
La posibilidad de una nueva clase que se creará, a partir de una
clase existente, haciéndolo extensivo, se denomina herencia.
EJEMPLO:
11. De acuerdo con el ejemplo anterior, la nueva clase (
IOException ), que se llama la clase o subclase derivada,
hereda los miembros de una clase existente ( Exception ),
que se llama la clase base o super-clase. La clase
IOException puede ampliar la funcionalidad de la clase
Exception mediante la adición de nuevos tipos y métodos y
reemplazando los existentes.
12. CLASES ABSTRACTAS
Las clases abstractas, las cuales declaran con la palabra clave
abstract, no se pueden crear instancias. Sólo puede ser utilizado
como un super-clase para otras clases que amplían la clase
abstracta. Clase abstracta es el concepto e implementación se
completó cuando está siendo realizado por una subclase.
Además de esta clase sólo puede heredar de una clase abstracta
(pero una clase puede implementar muchas interfaces) y tendrá
prioridad sobre todos los métodos abstractos / propiedades y puede
reemplazar los métodos virtuales / propiedades.
EJEMPLO:
13. INTERFACES
Una interface se compone de “Un conjunto de operaciones que
caracterizan el comportamiento de un elemento”. Todos los
métodos definidos en una interface son public abstract.
En resumen, la interface separa la aplicación y define la
estructura, y este concepto es muy útil en los casos donde se
necesita la aplicación para ser intercambiables. Aparte de que una
interface es muy útil cuando la aplicación cambia con frecuencia.
Algunos dicen que debe definir todas las clases en términos de
interfaces, pero creo que la recomendación parece un poco
extremo.
EJEMPLO:
14. POLIMORFISMO
Polimorfismos es un término genérico que significa "muchas
formas". Más precisamente, los polimorfismos se entiende la
posibilidad de solicitar que las mismas operaciones se realizarán
por una amplia gama de diferentes tipos de cosas.
la comprensión de los conceptos de programación orientada a
objetos se han hecho difícil ya que se han agrupado en cuatro
conceptos principales, mientras que cada concepto está
estrechamente relacionado con otros.
Por lo tanto hay que ser extremadamente cuidadoso para
comprender correctamente cada concepto por separado,
mientras que la comprensión de la forma en que cada uno
relacionado con otros conceptos.
15. En OOP los polimorfismos se logra mediante el uso de
muchas técnicas diferentes con nombre sobrecarga de
métodos, la sobrecarga de operadores, y método de
reemplazo.
EJEMPLO:
16. ACOPLAMIENTO
El acoplamiento mide el grado de relacionamiento de un módulo
con los demás. A menor acoplamiento, mejor: el módulo en
cuestión será más sencillo de diseñar, programar, probar y
mantener.
En el diseño estructurado, se logra bajo acoplamiento reduciendo
las interacciones entre procedimientos y funciones, reduciendo la
cantidad y complejidad de los parámetros y disminuyendo al
mínimo los parámetros por referencia y los efectos colaterales.
Una clase, en cambio, tendrá bajo acoplamiento cuando tenga la
menor dependencia posible de otras clases. Esta dependencia
significa que – si bien puede haber muchas clases que dependen
de una – debería haber pocas dependencias hacia otras clases
desde una sola.
17. Veamos un ejemplo obvio de un acoplamiento ajustado, que
ha sido ejecutado mediante una pobre encapsulación:
Ejemplo:
18. ASOCIACIÓN
Asociación es una relación entre dos clases. Permite que una
instancia de objeto de causar otro para llevar a cabo una acción en su
nombre. Asociación es el término más general que definen la relación
entre dos clases, donde como la agregación y la composición son
relativamente especial. Ejemplo:
En este caso podemos decir que existe una asociación entre
StudentRegistrar y RecordManager o existe una relación direccional de
StudentRegistrar a RecordManager o StudentRegistrar utilizar una
RecordManager . Puesto que se especifica explícitamente una
dirección, en este caso, la clase del controlador es la StudentRegistrar .