0% encontró este documento útil (0 votos)
45 vistas11 páginas

Programación Orientada A Objetos

Este documento describe los conceptos clave de la programación orientada a objetos como clases, objetos, encapsulamiento, herencia y polimorfismo. También analiza las ventajas y desventajas de este paradigma de programación.

Cargado por

Jose Barazarte
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
45 vistas11 páginas

Programación Orientada A Objetos

Este documento describe los conceptos clave de la programación orientada a objetos como clases, objetos, encapsulamiento, herencia y polimorfismo. También analiza las ventajas y desventajas de este paradigma de programación.

Cargado por

Jose Barazarte
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 11

República Bolivariana de Venezuela

Ministerio del Poder Popular para la Educación


Instituto Universitario Politécnico Santiago Mariño
Barinas. Estado Barinas

Programación Orientada a Objetos

Alumno:
José A. Barazarte
CI: 27165343
Ing. Sistemas

1
Indice:

Introducción.......................................................................... Pag. 2
Programacion Orientada a Objetos...................................... Pag. 3
Ventajas de la POO.............................................................. Pag. 3
Desventajas de la POO........................................................ Pag.4
Características de la POO.................................................... Pag. 5
Instancias.............................................................................. Pag. 9
Conclusión............................................................................ Pag. 10
Referencias............................................................................Pag. 11

2
Introducción:

La programación orientada a objetos (POO) es un paradigma de


programación que se centra en las clases y los objetos. Este paradigma se
define como un modelo del diseño de sistemas de software que separa y
estructura el código en fragmentos más simples y reutilizables como lo son
las clases y nos permite instanciar en objetos. La POO se basa en cuatro
conceptos clave: encapsulamiento, abstracción, polimorfismo y herencia.
todos de otra clase. En resumen, la POO es una filosofía de programación
que permite el diseño de aplicaciones orientadas a objetos y ofrece una serie
de beneficios, como la reutilización de código y la simplificación del desarrollo
de software.

3
Programación Orientada a Objetos:

La Programación Orientada a Objetos (POO) es un paradigma de


programación, esto es, un modelo o un estilo de programación que
proporciona unas guías acerca de cómo trabajar con él y que está basado en
el concepto de clases y objetos. Este tipo de programación se emplea 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 POO lo que se busca es dejar de centrarse en la lógica


pura de los programas, para comenzar a pensar en objetos, lo que forma la
base de dicho paradigma. Esto ayuda bastante en sistemas grandes, pues en
lugar de pensar en funciones, se piensa en las relaciones o interacciones de
los distintos elementos del sistema.

Históricamente han ido surgiendo distintos paradigmas de programación. Por


un lado, los lenguajes secuenciales como COBOL o procedimentales como
Basic o C, se enfocan más en la lógica que en los datos. Por otro lado, otros
más modernos como Java, C# y Python, usan paradigmas para definir los
programas, siendo la POO la más popular.

Ventajas de la POO:

La programación orientada a objetos es una parte tan fundamental del


desarrollo de software que es difícil recordar un momento en que los
programadores usaron cualquier otro enfoque. Sin embargo, cuando apareció
por primera vez en la década de 1980, supuso un salto radical respecto al
método tradicional de arriba hacia abajo.

En estos días, la mayoría de los principales desarrollos de software se


realizan mediante programación orientada a objetos. Gracias al uso
generalizado de lenguajes como Java y C++ es necesario que se comprenda
este enfoque para desarrollar software cada vez más especializado como por
ejemplo para móviles.

1. Modularidad para Facilitar la Resolución de Problemas

Cuando se trabaja con lenguajes de programación orientados a objetos se


tiene una mejor idea de dónde buscar el error cuando algo no está
funcionando bien. No tienes que ir línea por línea a través de todo tu código.

4
Esa es la belleza de la encapsulación los objetos son autónomos. Además,
esta modularidad permite que un equipo de TI trabaje en múltiples objetos
simultáneamente mientras minimiza la posibilidad de que una persona pueda
duplicar la funcionalidad de otra.

2. Reutilización de Código Mediante Herencia

Suponga que, además de su objeto “auto”, un colega necesita un objeto “auto


de carrera” y otro necesita un objeto “limusina”. Todos construyen sus objetos
por separado pero descubren puntos en común entre ellos. De hecho, cada
objeto es solo un tipo diferente de automóvil. Aquí es donde la técnica de
herencia ahorra tiempo: se puede crear una clase genérica (auto) y luego
definir las subclases (auto de carrera y limusina) que heredarán los rasgos de
la clase genérica.

3. Flexibilidad a través del polimorfismo

El polimorfismo de la programación orientada a objetos trata de que una sola


función puede cambiar de forma para adaptarse a cualquier clase en la que
se encuentre. Por ejemplo, podría crear una función en la clase principal
“auto” llamada “conducir”, no “conducirAuto” ni “conducirAutoDeCarrera”, sino
simplemente “conducir”. Esta función funcionaría tanto para autos de carrera
como para limusina u otros. De hecho, incluso podría tener
“AutoDeCarrera.conducir (miConductorAutoDeCarrera)” o “limusina.conducir
(miConductorPersonal)”.

4. Resolución Efectiva de Problemas

Muchas personas evitan aprender la programación orientada a objetos


porque la curva de aprendizaje parece más pronunciada que la de la
programación de arriba hacia abajo. Pero tómese el tiempo para dominar la
programación orientada a objetos y descubrirá que es el enfoque más fácil e
intuitivo para desarrollar grandes proyectos. La programación orientada a
objetos se trata, en última instancia, de tomar un gran problema y dividirlo en
partes solucionables. Para cada problema, escribe una clase que hace lo que
necesita. Y luego, lo mejor de todo, puede reutilizar esas clases, lo que hace
que sea aún más rápido resolver el siguiente problema.

Desventajas de la POO:

 Limitaciones del programador: Es posible el programador desconozca


algunas características del paradigma y de hecho siga utilizando el
paradigma estructurado.
 No hay una forma única de resolver los problemas. Esto puede llevar a
que diferentes interpretaciones de la solución planteada emerjan.
 Se requiere una documentación amplia para determinar la solución
planteada.

5
Características de la POO:

Es importante señalar que la POO puede variar según el programador. Y esto


sucede porque hay un cambio de concepto; no se trata tanto de una única
escala sino, de una forma de concebir la programación.

Lo cierto es que este tipo de programación es mucho más abierta, aunque


favorece una estructuración ordenada. Se requiere de una cierta formación
previa, pero en la práctica hay varias ventajas por las que puede interesar
esta metodología. La organización del código se realiza en distintas clases
que, posteriormente, podrán concretarse en objetos.

El módulo fue la primera introducción de programación para


reaprovechamiento, pero aquí se va un paso más allá. La POO busca, en
definitiva, que las aplicaciones que se desarrollen sean cada vez más
complejas sin que eso suponga desechar el código. Esta filosofía permitirá
reutilizarlo, de manera que progresar no supondrá renunciar. En éste se
manejan algunos conceptos básicos como son clases, objetos, atributos,
métodos y se caracteriza por emplear la abstracción de datos, herencia,
encapsulamiento y polimorfismo.

 Abstracción: La abstracción es un procedimiento que permite la elección


de una determinada entidad de la realidad, sus características y
funciones que desempeñan, la cual es representada mediante clases que
contienen atributos y métodos de dicha clase. En la programación
orientada a objetos es fundamental abstraer los métodos y atributos
comunes a un conjunto de objetos, agrupados en una clase. Un equipo
de cómputo tiene características como marca, color, número de serie,
cantidad de memoria instalada, capacidad del disco duro, tecnología
usada en el almacenamiento secundario, etc. Además, también pueden
integrarse otros objetos como tarjeta madre, procesador, disco duro,
módulo de memoria y un monitor, entre otros.

6
En esta abstracción estamos pensando en la funcionalidad del equipo de
cómputo y no como están construidos internamente los componentes
mencionados, sin embargo, para los diseñadores y técnicos de equipos de
cómputo son fundamentales. Probablemente para un inventario no necesites
modelar toda la información.

La abstracción nos indica que sólo se incluirá el vocabulario o el lenguaje


específico, las características y el comportamiento que estén relacionadas
con el dominio del problema que se quiere resolver. Solo debe modelarse lo
indispensable.

 Encapsulamiento: En programación el encapsulamiento orienta a


objetos, se acostumbra a proteger la información o el estado de los
atributos para que no se pueda ver o modificar la información del objeto
sin el mecanismo adecuado. Para ello, se utilizan métodos para recuperar
la información (getters) y asegurar que la información proporcionada sea
consistente con el objeto; y a su vez, poder asignar (setters) un nuevo
valor y verificar que no afecte la integridad del objeto.

Por ejemplo, nuestra clase ´´Computadora´´ quedaria asi

7
 Herencia: La herencia nos permite reutilizar el código programado en
cada clase “heredando” o extendiendo las características de un objeto a
sus “descendientes” o derivados. Por ejemplo, cuando hablamos de una
laptop o computadora portátil, sabemos que sigue siendo una
computadora y podemos tratarla como tal, pero probablemente
podríamos agregar una característica como la duración de la batería y a
quién se le asignó, ya que no estaría en un aula.

En este caso, una laptop sigue siendo una computadora, tiene todos sus
atributos y métodos, pero agrega dos atributos y un método a la definición
original, de lo que se conoce como superclase (la que está arriba de la
jerarquía en la relación general-específico)

8
 Poliformismo: 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.

Instancias en Programación:

Antes de entender el concepto de INSTANCIA en programación es


necesario saber qué es una clase en programación, una clase es una
estructura de datos donde se definen los campos y funciones que
modelan el comportamiento de un determinado objeto.

Por ejemplo, si tenemos una clase llamada "Gato" algunos de sus


propiedades pueden ser el "Nombre" y el "Color del pelaje", mientras que
algunas de sus funciones podrían ser "Comer" y "Maullar´´.

La clase Gato permitirá crear objetos tipo Gato y cada uno de estos objetos
será una INSTANCIA de la clase Gato, en su interior tendrán definidos las
propiedades y las funciones que se definieron en la clase, pero la información
que haya en sus campos será propia de cada INSTANCIA, es decir cada
objeto será una instancia independiente con un estado propio, esto hace que
podamos tener por ejemplo dos instancias de la clase Gato cada una con un
nombre y pelaje distinto.

Los objetos de programación son entes abstractos que existen en la


memoria de los ordenadores, el concepto es muy útil porque permite una
gran abstracción para solucionar problemas.

9
Conclusión:

La programación orientada a objetos (POO) es un paradigma de


programación que se enfoca en las clases y los objetos, y que permite el
diseño de aplicaciones orientadas a objetos. Por tanto es una filosofía de
programación que ofrece una serie de beneficios, como la reutilización de
código y la simplificación del desarrollo de software. La POO no es un
lenguaje específico, sino una forma de programar que se puede aplicar a
cualquier lenguaje de programación. La POO ha tenido un crecimiento
precipitado en la industria del desarrollo de software y es necesaria debido a
que los sistemas y aplicaciones cada vez son más grandes y complejos. En
resumen, la POO es una forma nueva de pensar acerca del proceso de
descomposición de problemas y de desarrollo de soluciones de
programación.

10
Referencias:

https://desarrolloweb.com/articulos/499.php
https://gamedevtraum.com/es/programacion-informatica/programacion-
orientada-a-objetos/que-es-una-instancia-en-programacion-orientada-a-
objetos-ejemplos-en-unity/
http://www.upv.es/amiga/43.htm#:~:text=Instancia%3A,es%20la%20madre
%20de%20todas.
https://objetosweb.wordpress.com/2016/05/18/ventajas-y-desventajas-de-la-
programacion-orientada-a-objetos/
https://www.computerweekly.com/es/definicion/Programacion-orientada-a-
objetos-OOP
https://openwebinars.net/blog/que-es-la-programacion-orientada-objetos/
#:~:text=Python%2C%20PHP%20y%20Ruby%20son,la%20programaci
%C3%B3n%20orientada%20a%20objetos).

LINK AL VIDEO Y LAS DIAPOSITIVAS:

https://youtu.be/V1wEi2D614M

11

También podría gustarte