Anda di halaman 1dari 5

La Programacin Orientada a Objetos (POO u OOP por sus siglas en ingls),

es un paradigma de programacin.
Paradigma: teora cuyo ncleo central suministra la base y modelo para resolver
problemas (Definicin de la Real Academia Espaola, vigsimo tercera edicin)
Cmo tal, nos ensea un mtodo -probado y estudiado- el cual se basa en las
interacciones de objetos (todo lo descrito en el ttulo anterior, Pensar en objetos)
para resolver las necesidades de un sistema informtico.
Bsicamente, este paradigma se compone de 6 elementos y 7 caractersticas que
veremos a continuacin.
Elementos y Caractersticas de la POO
Los elementos de la POO, pueden entenderse como los materiales que
necesitamos para disear y programar un sistema, mientras que las
caractersticas, podran asumirse como las herramientas de las cules
disponemos para construir el sistema con esos materiales.
Entre los elementos principales de la POO, podremos encontrar a:
Clases
Las clases son los modelos sobre los cules se construirn nuestros objetos.
Podemos tomar como ejemplo de clases, el grfico que hicimos en la pgina 8 de
este documento.
En Python, una clase se define con la instruccin class seguida de un nombre
genrico para el objeto.
class Objeto:
pass

class Antena:
pass

class Pelo:
pass

class Ojo:
pass

CARACTERISTICAS

DE

LA

POO

Existe un acuerdo acerca de qu caractersticas contempla la "orientacin a


objetos", las caractersticas siguientes son las ms importantes:

Abstraccin: Denota las caractersticas esenciales de un objeto, donde


se capturan sus comportamientos.Cada objeto en el sistema sirve como
modelo de un "agente" abstracto que puede realizar trabajo, informar y
cambiar su estado, y "comunicarse" con otros objetos en el sistema sin
revelar cmo se implementan estas caractersticas. Los procesos, las
funciones o los mtodos pueden tambin ser abstrados y cuando lo estn,
una variedad de tcnicas son requeridas para ampliar una abstraccin.

Encapsulamiento: Significa reunir a todos los elementos que pueden


considerarse pertenecientes a una misma entidad, al mismo nivel de
abstraccin. Esto permite aumentar la cohesin de los componentes del
sistema. Algunos autores confunden este concepto con el principio de
ocultacin, principalmente porque se suelen emplear conjuntamente.

Principio de ocultacin: Cada objeto est aislado del exterior, es un


mdulo natural, y cada tipo de objeto expone una interfaz a otros objetos
que especifica cmo pueden interactuar con los objetos de la clase. El
aislamiento protege a las propiedades de un objeto contra su modificacin
por quien no tenga derecho a acceder a ellas, solamente los propios
mtodos internos del objeto pueden acceder a su estado. Esto asegura que
otros objetos no pueden cambiar el estado interno de un objeto de maneras
inesperadas, eliminando efectos secundarios e interacciones inesperadas.
Algunos lenguajes relajan esto, permitiendo un acceso directo a los datos

internos del objeto de una manera controlada y limitando el grado de


abstraccin. La aplicacin entera se reduce a un agregado o rompecabezas
de objetos.

Polimorfismo: comportamientos diferentes, asociados a objetos distintos,


pueden compartir el mismo nombre, al llamarlos por ese nombre se utilizar
el comportamiento correspondiente al objeto que se est usando. O dicho
de otro modo, las referencias y las colecciones de objetos pueden contener
objetos de diferentes tipos, y la invocacin de un comportamiento en una
referencia producir el comportamiento correcto para el tipo real del objeto
referenciado. Cuando esto ocurre en "tiempo de ejecucin", esta ltima
caracterstica se llama asignacin tarda o asignacin dinmica. Algunos
lenguajes proporcionan medios ms estticos (en "tiempo de compilacin")
de polimorfismo, tales como las plantillas y la sobrecarga de operadores de
C++.

Herencia: las clases no estn aisladas, sino que se relacionan entre s,


formando una jerarqua de clasificacin. Los objetos heredan las
propiedades y el comportamiento de todas las clases a las que pertenecen.
La herencia organiza y facilita el polimorfismo y el encapsulamiento
permitiendo a los objetos ser definidos y creados como tipos especializados
de objetos preexistentes. Estos pueden compartir (y extender) su
comportamiento sin tener que volver a implementarlo. Esto suele hacerse
habitualmente agrupando los objetos en clases y estas en rboles o
enrejados que reflejan un comportamiento comn. Cuando un objeto
hereda de ms de una clase se dice que hay herencia mltiple.

Recoleccin de basura: la Recoleccin de basura o Garbage Collector es


la tcnica por la cual el ambiente de Objetos se encarga de destruir
automticamente, y por tanto desasignar de la memoria, los Objetos que
hayan quedado sin ninguna referencia a ellos. Esto significa que el
programador no debe preocuparse por la asignacin o liberacin de
memoria, ya que el entorno la asignar al crear un nuevo Objeto y la
liberar cuando nadie lo est usando. En la mayora de los lenguajes

hbridos que se extendieron para soportar el Paradigma de Programacin


Orientada a Objetos como C++ u Object Pascal, esta caracterstica no
existe y la memoria debe desasignarse manualmente.

Qu es la programacin visual?
El concepto de programacin visual es un poco confuso ya que actualmente se le
considera programacin visual a los lenguajes de programacin textual que tienen
una interfaz grfica para poder visualizar lo que uno esta desarrollando. Este
concepto en programacin visual es errneo ya que este es aquel que por medio
de iconos puedes ir creando programas sin tener un lenguaje textual atrs de l.
La programacin visual (visual programming) se refiere al desarrollo de software
donde las notaciones grficas y los componentes de software manipulables
interactivamente son usados principalmente para definir y componer programas.
La programacin visual se define comnmente como el uso de expresiones
visuales(tales como grficos, animacin o iconos) en el proceso de la
programacin, puedenser utilizadas para formar la sintaxis de los nuevos
lenguajes de programacin visuales que conducen a los nuevos paradigmas tales
como programacin por la demos tracin; o pueden ser utilizadas en las
presentaciones grficas del comportamiento o de la estructura de un programa.
El objetivo de la programacin visual es mejorar la comprensin de los programas
y simplificar la programacin en s. Ms all, la programacin visual deber
fomentar a los usuarios finales a construir sus propios programas, que de otra
forma deben ser escritos por programadores profesionales.

Clasificacin de los lenguajes visuales


Los lenguajes visuales se dividen en las siguientes categoras:

Lenguajes puramente visuales

Sistemas hbridos de texto y elementos visuales

Sistema de programacin por ejemplo (Programming-by-example)

Sistemas orientados a restricciones (Constraint-oriented systems)

Sistemas basados en formas (entradas tipo hoja de clculo animada)Aunque los


LPVs comunican la informacin de una manera ms visual que loslenguajes
textuales tradicionales, el texto an tiene su lugar en la programacin visual.Hay 3
reas que ilustran la superioridad del texto en algunas situaciones:

documentacin,

asignar nombres para distinguir entre elementos de un mismo tipo, y

expresar conceptos bien conocidos y compactos que son inherentementetextuales


(p.ej. frmulas algebraicas)

CONCEPTOS:
POO: se basa en programas informticos con la capacidad de resolver problemas.
Programacin visual: Trata de resolver algunos paradigmas con una manera
ms fcil de comprender como lo son las grficas.

Anda mungkin juga menyukai