2. Concepto de POO
La Programación Orientada a Objetos (POO u OOP) es un paradigma de programación
que define los programas en términos de “clases de objetos”, objetos que son
entidades que combinan estado (propiedades o datos), comportamiento
(procedimientos o métodos) e identidad (propiedad del objeto que lo diferencia del
resto).
La programación orientada a objetos expresa un programa como un conjunto de estos
objetos, que colaboran entre ellos para realizar tareas. Esto permite hacer los
programas y módulos más fáciles de escribir, mantener y reutilizar.
Un objeto contiene toda la información que permite definirlo e identificarlo frente a otros
objetos pertenecientes a otras clases (e incluso entre objetos de una misma clase, al
poder tener valores bien diferenciados en sus atributos). A su vez, dispone de
mecanismos de interacción (los llamados métodos) que favorecen la comunicación
entre objetos (de una misma clase o de distintas), y en consecuencia, el cambio de
estado en los propios objetos. Esta característica lleva a tratarlos como unidades
indivisibles, en las que no se separan (ni deben separarse) información (datos) y
procesamiento (métodos).
3. Caracteristicas:
Simple
Orientado a Objetos
Tipado estáticamente
Distribuido
Interpretado
Robusto
Seguro
de Arquitectura Neutral
Multihilo
con Recolector de basura
(Garbage Collector)
Portable
de Alto Rendimiento: sobre todo
con la aparición de hardware
especializado y mejor software
Dinámico
conceptos
Objetos:
Es un elemento de software que intenta
representar un objeto del mundo real. De
esta forma un objeto tendrá sus
propiedades y acciones a realizar con el
objeto. Estas propiedades y acciones están
encapsuladas dentro del objeto,
cumpliendo así los principios de
encapsulamiento.
Clase:
Las clases representan los
prototipos de los objetos que
tenemos en el mundo real. Es
decir, es una generalización de un
conjunto de objetos. A su vez los
objetos serán instancias de una
determinada clase.
Atributos:los
atributos parteReal y parteImaginaria pe
rtenecen a cada objeto de la clase. De
hecho, cada objeto poseerá su propia
copia de los atributos. Estos podrán
tomar un valor independientemente de
los valores de los atributos del resto de
las instancias de la clase Complejo.
Gracias a ello, podemos representar a la
vez varios números complejos en
nuestro programa, cada uno con su
propia parte real y parte imaginaria.
pilares
Abstracción:Es el pilar de la POO, que
permite identificar las características y
comportamientos de un objeto y con los
cuales se construirá la clase
(plantilla). Esto quiere decir que a través
de este pilar o fundamento es posible
reconocer los atributos y métodos de un
objeto.
Encapsulamiento:
Es la característica de la POO que
permite el ocultamiento de la
complejidad del código, pertenece a la
parte privada de la clase y que no
puede ser vista desde ningún otro
programa.
Herencia:
Es el pilar más fuerte que asegura la
reutilización de código, ya que a partir de
esta característica es posible reutilizar
(heredar) las características y
comportamientos de una clase superior
llamada clase padre, a sus clases hijas,
denominadas clases derivadas.
Polimorfismo:
A través de esta característica es posible definir
varios métodos o comportamientos de un objeto
bajo un mismo nombre, de forma tal que es posible
modificar los parámetros del método, o reescribir
su funcionamiento, o incrementar más
funcionalidades a un método.