Programación Orientada a Objetos
Es un paradigma de programacion que usa los objetos en sus interacciones, para diseñar aplicaciones y programas informaticos. Esta basado en varias tecnicas, incluyendo herencia, aplicaciones y programas informaticos. Esta basado en varias tecnicas, incluyendo herencia, cohesion, abstraccion, polimorfismo, acoplamiento y encapsulamiento.
Lenguajes Utilizados en POO
Se le llama así a cualquier lenguaje de programación que implemente los conceptos definidos por la programación orientada a objetos.
Cabe notar que los conceptos definidos en la programación orientada a objetos no son una condición sino que son para definir que un lenguaje es orientado a objetos. Existen conceptos que pueden estar ausentes en un lenguaje dado y sin embargo, no invalidar su definición como lenguaje orientado a objetos.
Objective C
Java
Smalltalk
eC (Ecere C)
Eiffel
Lexico (en castellano)
Ruby
Python
OCAML
Object Pascal
CLIPS
Visual .net
Actionscript
COBOL
Perl
C#
Visual Basic.NET
PHP
Simula
Delphi
PowerBuilder
Maya
Corel draw
Clases y Objetos
Objetos
- Un objeto es una cosa tangible, algo a que se puede aprender intelectualmente o algo hacia lo que se puede dirigir una accion o pensamiento.
- Un obejto representa un item individual e identificable, o una entidad real o abstracta, con un papel definido en el dominio del problema.
- Un objeto tiene:
- Estado
- Comportamiento
- Identidad
La estructura y el comportamiento de objetos similares se definen en sus clases comunes. El termino objeto y ejemplo (instance) de una clase son intercambiables.
Estado de un objeto.
El estado de un objeto abarca todas las propiedades del objeto, y los valores actuales de cada una de esas propiedades. Las propiedades de los objetos suelen ser estáticas, mientras los valores que toman estas propiedades cambian con el tiempo.
- El hecho de que los objetos tengan estado implica que ocupan un espacio, ya en el mundo físico , ya en la memoria del ordenador.
- El estado de un objeto está influido por la historia del objeto.
- No deben confundirse los objetos, que existen en el tiempo, son mutables, tienen estado, pueden ser creados, destruidos y compartidos..., con los valores (los asignados a una variable, por ejemplo) que son cantidades con las propiedades de ser atemporales, inmutables.
- El estado de un objeto representa el efecto acumulado de su comportamiento.
Clases
Una clase es un conjunto de objetos que comparten una estructura y comportamiento comunes.
Esta particularidad permite crear una estructura jerárquica de clases cada vez más especializada.
- Clase representa una abstracción, la esencia que comparten los objetos.
- Un objeto es un ejemplo de una clase.
- Un objeto no es una clase, y una clase no es un objeto (aunque puede serlo, p.e. en Smalltalk).
- Las clases actuan como intermediarias entre una abstracción y los clientes que pretenden utilizar la abstracción. De esta forma, la clase muestra:
- visión externa de comportamiento (interface), que enfatiza la abstracción escondiendo su estructura y secretos de comportamiento.
- visión interna (implementación), que abarca el código que se ofrece en la interface de la clase.
Metodos
Métodos: conjunto de instrucciones a las que se les asocia un nombre de modo que si se desea ejecutarlas, sólo basta o referenciarlas a través de dicho nombre en vez de tener que escribilas.
Dentro de estas instrucciones es posible acceder con total libertad a la información almacenada en los campos, pertenecientes a la clase dentro de la que el método se ha definido. Por lo que los métodos premiten manipular los datos almacenados en los objetos.
Sintaxis:
()
{
instrucciones;
}
()
{
instrucciones;
}
Herencia
La 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.
Esta particularidad permite crear una estructura jerárquica de clases cada vez más especializada.
No hay comentarios:
Publicar un comentario