Introducción a la terminología de POO
20.09.2013 15:49
- Herencia:
es específica de la programación orientada a objetos, donde una clase nueva se crea a partir de una clase existente. La herencia (a la que habitualmente se denomina subclases) proviene del hecho de que la subclase (la nueva clase creada) contiene las atributos y métodos de la clase primaria. La principal ventaja de la herencia es la capacidad para definir atributos y métodos nuevos para la subclase, que luego se aplican a los atributos y métodos heredados.

- Polimorfismo:
Se denomina polimorfismo a la capacidad del código de un programa para ser utilizado con diferentes tipos de datos u objetos. Las primeras- Son aquellas funciones que pueden evaluarse o ser aplicadas a diferentes tipos de datos de forma indistinta.- Son aquellos tipos de datos que contienen al menos un elemento cuyo tipo no está especificado.

- Encapsulación:
Significa reunir a todos los elementos que pueden considerarse pertenecientes a una misma entidad, al mismo nivel de abstracción. Esto permite aumentar la cohesión de los componentes del sistema.
.jpg)
- Abstracción:
consiste en aislar un elemento de su contexto o del resto de los elementos que lo acompañan. En programación, el término se refiere al énfasis en el "¿qué hace?" más que en el "¿cómo lo hace?" (Característica de caja negra).El común denominador en la evolución de los lenguajes de programación, desdelos clásicos o imperativos hasta los orientados a objetos, ha sido el nivel de abstracción del que cada uno de ellos hace uso.
Ejm: objetos Persona sin tener en cuenta sus propiedades ni métodos ya que sólo le interesa, por ejemplo, calcular la cantidad de personas que están viajando en él en ese momento, sin tener en cuenta ninguna otra información relacionada con dichas personas, tales como la altura, el nombre, el color de ojos, etcétera.
- Interfaz:
Las interfaces, tal como las clases abstractas. no se pueden instanciar. Sus métodos deben ser re-escritos por la clase que implemente.
Ej:
12345678910 |
public interface MatematicaVectorial {public static double pi = 3.1415;public static double e = 2.71828;public double[] sumar(int[][] vectores);public double[] restar(int[][] vectores);public double productoPunto(int[][] vectores);} |
La clase VectorR3, que es un vector de R³ implementa MatematicaVectorial
- Clase:
La clase es la construcción del lenguaje utilizada más frecuentemente para definir los tipos abstractos de datos en lenguajes de programación orientados a objetos. Clases Abstractas Con frecuencia, cuando se diseña un modelo orientado a objetos es útil introducir clases a cierto nivel que pueden no existir en la realidad pero que son construcciones conceptuales útiles.

- atributos:
Los atributos son las características individuales que diferencian 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.
Ejm: las características de la puerta, por ejemplo: color, material, ancho, alto, etc.
- métodos:
Los métodos o función miembro se definen dentro de la clase a la que pertenecen y constituyen la interfaz o forma de acceder a la estructura interna de los objetos es decir a los datos privados.
Los métodos definen cual son las operaciones que se pueden realizar con los atributos de los objetos de la clase.
La ejecución de un programa orientado a objetos consiste, en recibir, interpretar y responder unos objetos a los mensajes que envían otros objetos.
En P.O.O. un mensaje está asociado siempre con un método, de manera que cuando un objeto recibe un mensaje la respuesta a ese mensaje es ejecutar el método asociado.
Ejm:Sintaxis para llamar a los métodos de un objeto:
.(parámetro)
Parámetro: valores que se desean dar a los parámtros del método al hacer la llamada. Si el método no toma parámtros se deja vacío.
ejemplo: llamda al método cumpleaños de un objeto persona llamado p
p.cumpleaños();
- instancia u objeto:
Un objeto en POO representa alguna entidad de la vida real, es decir, alguno de los objetos que pertenecen al negocio con que estamos trabajando o al problema con el que nos estamos enfrentando, y con los que podemos interactuar. A través del estudio de ellos se adquiere el conocimiento necesario para, mediante la abstracción y la generalización, agruparlos según sus características en conjuntos. Estos conjuntos determinan las clases de objetos con las que estamos trabajando. Primero existen los objetos; luego aparecen las clases en función de la solución que estemos buscando. Ésta es la forma más común de adquirir conocimiento aunque no es la única. En ocasiones, cuando el observador es un experto del negocio (o del problema), el proceso puede ser a la inversa y comenzar el análisis en una base teórica abstracta, sustentada por el conocimiento previo que da lugar primeramente a clases de objetos que satisfagan las necesidades de la solución.
Estos conceptos son parte de la base teórica de la idea de objeto y clase utilizados en la POO. Los objetos tienen características fundamentales que nos permiten conocerlos mediante la observación, identificación y el estudio posterior de su comportamiento; estas características son:
Identidad:
es una propiedad de un objeto que lo diferencia del resto, dicho con otras palabras, es su identificador (concepto análogo al de identificador de una variable o una constante)
Ejm: Nombre del objeto: persona.
Comportamiento:
está definido por los métodos o mensajes a los que sabe responder dicho objeto, es decir, qué operaciones se pueden realizar con él.

-Estado:
está compuesto de datos, será uno o varios atributos a los que se habrán asignado unos valores concretos (datos).

- Agregación:
Una agregación es una relación que representa a los objetos compuestos. La agregación de objetos permite describir modelos del mundo real que se componen de otros modelos, que a su vez se componen de otros modelos
-concurrencia:
Es la propiedad que distingue un objeto activo de uno no activo. Concurrencia permite que diferentes objetos actúen al mismo tiempo, usando distintos threads de control.


