Programaci贸n orientada a objetos馃槚
¿Qu茅 es la Programaci贸n Orientada a Objetos?
La Programaci贸n Orientada a Objetos (POO) es un paradigma de programaci贸n, es decir, un modelo o un estilo de programaci贸n
que nos da unas gu铆as sobre c贸mo trabajar con 茅l. Se basa en el concepto de clases y objetos.
Este tipo de programaci贸n se utiliza para estructurar un programa de software en piezas simples y reutilizables de planos de c贸digo
(clases) para crear instancias individuales de objetos. Con el paradigma de Programaci贸n Orientado a Objetos lo que buscamos es dejar de centrarnos en la l贸gica pura de los programas, para empezar a pensar en objetos, lo que constituye la base de este paradigma. Esto nos ayuda much铆simo en sistemas grandes, ya que en vez de pensar en funciones, pensamos en las relaciones o interacciones de los diferentes componentes del sistema.
Un programador dise帽a un programa de software organizando piezas de informaci贸n y comportamientos relacionados en una plantilla llamada clase. Luego, se crean objetos individuales a partir de la plantilla de clase. Todo el programa de software se ejecuta haciendo que varios objetos interact煤en entre s铆 para crear un programa m谩s grande.
HISTORIA DE POO
Podemos considerar como inicio del paradigma de Programaci贸n Orientada a Objetos (Object Oriented Programming) el lenguaje de programaci贸n Simula desarrollado por Kristen Nygaard y Ole-Johan Dahl en la mitad de los a帽os 60 en el Centro de Computaci贸n Noruego (The Norwegian Computing Center). Simula se defini贸 como un lenguaje de programaci贸n orientado a la simulaci贸n de procesos, con el que se pod铆an definir distintos tipos de actividades. En este lenguaje aparecen por primera vez los conceptos de clases y objetos.
¿Por qu茅 POO?
La Programaci贸n Orientada a objetos permite que el c贸digo sea reutilizable, organizado y f谩cil de mantener. Sigue el principio de desarrollo de software utilizado por muchos programadores DRY (Don´t Repeat Yourself), para evitar duplicar el c贸digo y crear de esta manera programas eficientes. Adem谩s, evita el acceso no deseado a los datos o la exposici贸n de c贸digo propietario mediante la encapsulaci贸n y la abstracci贸n, de la que hablaremos en detalle m谩s adelante.
Las principales caracter铆sticas de la programaci贸n orientada a objetos
1. Distinci贸n entre clase y objeto
La distinci贸n entre clase y objeto es una de las claves de este tipo de programaci贸n que la hace 煤nica. No en vano, si no entendemos esta parte, no sabemos c贸mo funciona este tipo de programaci贸n.
En primer lugar, la clase se referir谩 a la matriz gen茅rica, a la cual se aplicar谩n determinadas categor铆as para que puedas afinar. Hecho esto, nos referiremos a los objetos, que suponen la concreci贸n de esa matriz. Por ejemplo, el concepto "animal" ser铆a una clase, mientras que "gato" es un objeto. Esto permite aportar orden, lo que siempre es de agradecer, gracias a la capacidad de abstracci贸n.
La idea principal es que, a partir de la clase, se crean instancias de un objeto. En consecuencia, es una metodolog铆a muy 煤til para programar con una cantidad de datos ingente a la que dar forma.
2. Reutiliza el c贸digo y evita su duplicaci贸n
La duplicaci贸n del c贸digo es uno de los problemas recurrentes, sobre todo por la p茅rdida de tiempo que implica. La POO introduce una novedad interesante al respecto.
Hay que destacar que el principio de herencia hace que exista jerarquizaci贸n entre las clases que utilizamos. Y el resultado pr谩ctico de eso es que se reducen exponencialmente las veces que tienes que reescribir. Como vas a reutilizar el c贸digo gracias a este principio de programaci贸n, evitar谩s su duplicaci贸n. Por lo tanto, la tan temida duplicaci贸n del c贸digo es un problema al que no te expondr谩s.
3. Encapsula la informaci贸n
El concepto de encapsulaci贸n de la informaci贸n es clave si quieres afinar en la privacidad. Uno de los problemas recurrentes est谩 en la cantidad de datos que se comparten, y en qu茅 medida.
La POO lo que consigue es que toda la informaci贸n de un objeto est茅 dentro del mismo. En consecuencia, el acceso desde fuera se hace pr谩cticamente imposible para los no programadores. El resultado pr谩ctico es que se gana en seguridad, lo que siempre es de agradecer.
En definitiva, este sistema permite que los datos privados lo sigan siendo. Y esto, evidentemente, tambi茅n te da un mayor control sobre el proceso de programaci贸n.
El polimorfismo permite dise帽ar objetos para compartir comportamientos. Por lo tanto, es una buena forma de que se pueda proporcionar orden. El efecto que se consigue es que puedes procesar los objetos de distintas maneras.
El polimorfismo, aunque es una de las ventajas de la POO, es tambi茅n un arma de doble filo. Y el motivo b谩sico es que abre campos a dos formas y adaptaciones. B谩sicamente podemos hablar de la anulaci贸n de m茅todo y la sobrecarga de m茅todo. Es por eso que, cuando hablamos de la POO, nos referimos m谩s bien a una filosof铆a de programaci贸n, porque las adaptaciones son diversas.
El poliformismo es, al final, sin贸nimo de versatilidad, y esto siempre es de agradecer. Por lo tanto, esta es una buena manera de adaptar la programaci贸n a aquello que necesitas.
Clases, objetos e instancias
- La encapsulaci贸n
- La abstracci贸n
- La herencia
La herencia facilita la creaci贸n de objetos a partir de otros objetos o clases ya existentes , es as铆 como permite que una subclase obtenga todos los comportamientos y atributos de la superclase o clase padre.
- El polimorfismo
- Modularidad
Beneficios de Programaci贸n Orientada a Objetos
- Reutilizaci贸n del c贸digo.
- Convierte cosas complejas en estructuras simples reproducibles.
- Evita la duplicaci贸n de c贸digo.
- Permite trabajar en equipo gracias al encapsulamiento ya que minimiza la posibilidad de duplicar funciones cuando varias personas trabajan sobre un mismo objeto al mismo tiempo.
- Al estar la clase bien estructurada permite la correcci贸n de errores en varios lugares del c贸digo.
- Protege la informaci贸n a trav茅s de la encapsulaci贸n, ya que solo se puede acceder a los datos del objeto a trav茅s de propiedades y m茅todos privados.
- La abstracci贸n nos permite construir sistemas m谩s complejos y de una forma m谩s sencilla y organizada.
DESVENTAJAS DE PROGRAMACI脫N ORIENTADA A OBJETOS
- La duraci贸n de los programas desarrollados utilizando lenguaje OOP es mucho mayor que el enfoque procedimental. Dado que el programa aumenta de tama帽o, requiere m谩s tiempo para ejecutarse, lo que conduce a una ejecuci贸n m谩s lenta del programa.
- No podemos aplicar la POO en todas partes ya que no es un lenguaje universal. Se aplica solo cuando se requiere. No es adecuado para todo tipo de problemas.
- Los programadores deben tener habilidades de dise帽o y programaci贸n brillantes junto con una planificaci贸n adecuada porque usar OOP es un poco complicado.
- Los POO toman tiempo para acostumbrarse. El proceso de pensamiento involucrado en la programaci贸n orientada a objetos puede no ser natural para algunas personas.
- Todo se trata como un objeto en POO, por lo que antes de aplicarlo debemos tener un pensamiento excelente en t茅rminos de objeto
C++
Compatibilidad con bibliotecas: A trav茅s de bibliotecas hay muchas funciones que est谩n disponible y que ayudan a escribir c贸digo r谩pidamente.
Orientado a Objetos: El foco de la programaci贸n est谩 en los objetos y la manipulaci贸n y configuraci贸n de sus distintos par谩metros o propiedades.
Rapidez: La compilaci贸n y ejecuci贸n de un programa en C++ es mucho m谩s r谩pida que en la mayor铆a de lenguajes de programaci贸n.
Compilaci贸n: En C++ es necesario compilar el c贸digo de bajo nivel antes de ejecutarse, algo que no ocurre en otros lenguajes.
Punteros: Los punteros del lenguaje C, tambi茅n est谩n disponibles en C++.
Did谩ctico: Aprendiendo programaci贸n en C++ luego es mucho m谩s f谩cil aprender lenguajes como Java, C#, PHP, Javascript, etc.
VENTAJAS
- Alto rendimiento: el alto rendimiento que ofrece. Esto es debido a que puede hacer llamadas directas al sistema operativo, es un lenguaje compilado para cada plataforma, posee gran variedad de par谩metros de optimizaci贸n y se integra de forma directa con el lenguaje ensamblador.
- Lenguaje actualizado: A pesar de que ya tiene muchos a帽os, el lenguaje se ha ido actualizando, permitiendo crear, relacionar y operar con datos complejos y ha implementado m煤ltiples patrones de dise帽o.
- Multiplataforma
- Extendido: C y C++ est谩n muy extendidos. Casi cualquier programa o sistema est谩n escritos o tienen alguna parte
· Se trata de un software libre, sencillo y f谩cil de usar, ligero y eficiente, para la plataforma Windows.
· Es perfecto para comenzar a programar en C++.
el logotipo de Java representaba una taza de caf茅 azul con vapor rojo encima. El s铆mbolo fue un tributo a los desarrolladores de Java, que bebieron mucho caf茅 mientras trabajaban en el lenguaje. Como era principalmente caf茅 de los granos de caf茅 de Java, el nombre y el s铆mbolo se eligieron lo suficientemente r谩pido.
La marca denominativa roja en todas las may煤sculas se coloc贸 debajo del emblema. La inscripci贸n «Java» presentaba su primera letra ampliada y estaba ejecutada en un tipo de letra serif cl谩sico con elegante serif y l铆neas claras y definidas.
- ORIENTADO A OBJETOS
- DISTRIBUIDO
- ROBUSTO
- ARQUITECTURA NEUTRAL
- SEGURO
- PORTABLE
- INTERPRETADO
- MULTITHREADED
- DINAMICO
1. Tiene una curva de aprendizaje corta
2. Est谩 orientado a los objetos
3. Es multiplataforma
4. Cuenta con liberaci贸n de memoria
5. Es compatible con librer铆as est谩ndar y editores
6. Ofrece una gesti贸n de error
7. Brinda la posibilidad de crear aplicaciones distribuidas
8. Es seguro
9. Es econ贸mico
10. Admite subprocesos m煤ltiples
11. Tiene una compilaci贸n de c贸digos seguro
12. Es un lenguaje de c贸digo abierto
1. Es de lenguaje Interpretado
2. Requiere de experiencia en programaci贸n
3. Es de sintaxis compleja
4. Es dependiente
5. Se ejecuta solo en dispositivos y equipos aptos
6. Sus opciones 3D son limitadas
7. No cuenta con una funci贸n de copia de seguridad
8. Requiere un espacio de memoria significativo
9. Sus marcos de trabajo carecen de una apariencia de interfaz gr谩fica de usuario
10. Sus c贸digos escritos son detallados
Visual Basic
- Visual Basic est谩 orientado a los objetos.
- Los programas de Visual Basic son conducidos por eventos.
- El c贸digo de Visual Basic est谩 «orientado a la familia»
- Dise帽ador de formularios WYSIWYG.
- Agregar c贸digos a cada objeto.
- Es uno de los lenguajes m谩s utilizados, as铆 que es muy sencillo encontrar informaci贸n, documentaci贸n y fuentes para los proyectos.
- Tiene acceso a casi toda la API de Windows y puede usar la plataforma de sistemas Windows.
- A帽ade soporte para ejecutar scripts en las aplicaciones con VBScript o JScript, gracias a Microsoft Script Control.7.
- Al ser de Windows, integra su dise帽o e implementaci贸n de formularios.
- En sus librer铆as Runtime.dll, tiene problemas de versionado.
- Pese a ser una programaci贸n orientada a objetos, tiene un soporte escaso.
- Para crear aplicaciones multihilo, es necesario realizar llamadas a la API de Windows.
La forma de dise帽o.
El explorador de proyectos.
La caja de herramientas.
La ventana Dise帽o de formulario.
La ventana Propiedades.
La barra de herramientas.
La barra de men煤.
Conclusi贸n
La Programaci贸n Orientada a Objetos es actualmente el paradigma que m谩s se utiliza para dise帽ar aplicaciones y programas inform谩ticos. Son muchas sus ventajas, principalmente cuando necesitas resolver desaf铆os de programaci贸n complejos. Permite una mejor estructura de datos y reutilizaci贸n del c贸digo, lo que facilita el ahorro de tiempo a largo plazo. Eso s铆, para ello se requiere pensar bien en la estructura del programa, planificar al comienzo de la codificaci贸n, as铆 como analizar los requisitos en clases simples y reutilizables que se pueden usar para dise帽ar instancias de objetos.
No hay comentarios.:
Publicar un comentario