Programación Orientada A Objeto Asig.02
Programación Orientada A Objeto Asig.02
Oriental
(UTECO)
Nombre:
Carlos Ramón Otañez Marmolejos
Matricula:
2017-1805
Asignatura:
Lenguaje De Programación II
Tema:
Programación Orientada a Objetos
Profesor:
Carlos Luna
Fecha:
23/ Enero /2023
otros tipos de programación (lógica, funcional, imperativa, etc.), está orientada a cómo vemos las cosas en
la vida real.
Este tipo de programación puede resolver algunos de los problemas que han plagado el
desarrollo de software desde el principio, como la falta de portabilidad y la baja reutilización de código,
así como la dificultad de modificación y desarrollo. También es una técnica de codificación más intuitiva
La programación orientada a objetos tiene tres características básicas: debe estar basada en
objetos, debe estar basada en clases y debe ser capaz de preservar la herencia entre clases. La mayoría de
los idiomas cumplen con una o dos de estas características, pero algunos idiomas cumplen con las tres al
Más adelante veremos los conceptos de objetos, clases y herencia y otros conceptos relacionados
con Poo.
Aprender esta técnica no es difícil, pero es una forma subjetiva de programar que depende del
desarrollador. Aunque podemos ofrecer diferentes soluciones a un mismo problema, no todas las
soluciones son válidas. La dificultad no está en aprender la tecnología, sino en ejecutarla bien. Solo
programando bien podemos aprovechar todas las ventajas que nos da la programación orientada a objetos.
Origen de la POO
estructurada existente. Entre ellos se encuentra Alan Kay, quien en su investigación propuso la idea de
En 1967, un equipo liderado por David L. Parnas publicó un artículo en el que se proponía la
encapsulamiento.
En 1968, el equipo de investigación de POO liderado por Kristen Nygaard y Ole-Johan Dahl en
Noruega, presento el lenguaje de programación Simula 67, que es considerado como el primer lenguaje de
programación orientado a objetos, y el primer que introdujo conceptos como clases y objetos, y la idea de
herencia.
En la década de 1970, los investigadores de POO Alan Kay, Adele Goldberg y su equipo en
Xerox PARC, desarrollaron un lenguaje de programación llamado Smalltalk, que introdujo la idea de
mensajería entre objetos, y que se considera como uno de los primeros lenguajes de programación
varios investigadores en informática que buscaban mejorar la programación estructurada existente, y que
introdujeron conceptos como clases, objetos, herencia, encapsulamiento y mensajería entre objetos.
Definición
idea de que los programas son una colección de objetos que interactúan entre sí. Cada objeto representa
una entidad en el mundo real y tiene un estado y un comportamiento. El estado se refiere a los datos
almacenados en el objeto, mientras que el comportamiento se refiere a las acciones que puede realizar el
objeto.
En la POO, los objetos son instancias de una clase, que es una plantilla para la creación de
objetos. La clase define los atributos y métodos del objeto, y todos los objetos de la misma clase tienen los
La POO también incluye conceptos como la herencia, que permite a las clases heredar atributos
C++, Python, y C#. Es una de las formas más populares de programación debido a su capacidad para
modelar la complejidad del mundo real y su facilidad para manejar y organizar grandes proyectos de
software.
Características
dato. Estos toman el nombre de tipos de datos abstractos (TDA), incluidos en los lenguajes Pascal, Ada,
Modula-2 y C++ entre otros. La abstracción está presente en casi todos los lenguajes de programación
actuales. Algunos ejemplos de abstracción son los ya mencionados TDA, las estructuras de datos, los
si. De este modo solo se puede cambiar el estado del objeto mediante las operaciones asociadas al mismo,
sin tener que modificar su código. Así también se evita que el usuario altere su estado de manera
incontrolada.
objeto desconoce la distribución de la información dentro del objeto y la información disponible en él.
Pero gracias a los métodos asociados a cada uno puede usarlos y manejarlos. Un ejemplo de
encapsulamiento es el circuito eléctrico de una casa. El usuario solo accede a ciertas partes del circuito
(enchufes e interruptores), aunque las partes del circuito internas comparten información entre si.
métodos con el mismo nombre. Cada objeto actuará en consecuencia según como este implementado el
método. Por ejemplo, el mensaje "+" a un objeto de tipo entero significa suma, mientras que para un
Herencia: las clases de objetos no están desligadas unas de otras, sino que se relacionan
entre sí, formando una jerarquía. 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.
Esto suele hacerse agrupando los objetos en clases y las clases en árboles que reflejan un
comportamiento común. Cuando un objeto pertenece a más de una clase se llama herencia múltiple,
aunque esta característica no está soportada por algunos lenguajes como Java.
Definición de Herencia
heredar los atributos y métodos de otra clase, conocida como la clase padre o superclase. La clase que
La herencia permite a los desarrolladores reutilizar código existente al crear nuevas clases, ya
que las clases hijas pueden heredar atributos y métodos de las clases padres. Además, la herencia permite
la organización jerárquica de las clases, lo que permite una mejor comprensión y manejo de la
La herencia también permite la creación de relaciones "es-un" entre clases, ya que una clase hija
es una especialización de una clase padre. Esto significa que un objeto de una clase hija también es un
reutilizar código existente, organizar jerárquicamente las clases y crear relaciones "es-un" entre clases.
Concepto de Polimorfismo
objeto de diferentes tipos pueda responder al mismo mensaje o llamada de método. El polimorfismo se
En otras palabras, el polimorfismo permite que una sola acción o método pueda ser aplicada a
diferentes tipos de objetos de manera diferente. Esto se logra mediante la herencia y la implementación de
interfaces.
Por ejemplo, si una clase Padre tiene un método llamado "dibujar" y varias clases hijas heredan
de él, cada una de las clases hijas puede tener su propia implementación del método "dibujar", diferente a
la de la clase Padre.
El polimorfismo también permite que los objetos sean tratados de manera genérica, es decir, se
pueden tratar como objetos de la clase Padre, independientemente de su tipo específico, lo que facilita el
permite que un objeto de diferentes tipos pueda responder al mismo mensaje o llamada de método, y que
los objetos sean tratados de manera genérica. Esto permite una mayor flexibilidad y reutilización del
código.
Concepto de Encapsulamiento
la implementación detallada de un objeto y exponer solo los aspectos relevantes a otros objetos. El
accesos no autorizados.
En otras palabras, el encapsulamiento consiste en separar la interfaz de un objeto de su
implementación, de tal manera que solo se expone un conjunto limitado de métodos y atributos (públicos)
a otros objetos, mientras que los detalles internos (privados) quedan ocultos.
utilizan.
Permite crear una abstracción de los detalles internos del objeto, lo que facilita el diseño y
la escritura de código.
permite ocultar la implementación detallada de un objeto y exponer solo los aspectos relevantes a otros
objetos, con el objetivo de proteger la integridad de los datos, facilitar el cambio de la implementación, y
Que es Abstracción
objetos, los cuales representan entidades o conceptos del mundo real. Una clase es una abstracción de una
La abstracción también permite crear jerarquías de clases mediante la herencia, de tal manera
que se pueden crear clases más específicas a partir de clases más genéricas, lo que permite modelar la
que se refiere a la capacidad de enfocarse en los aspectos esenciales de un problema o sistema, mediante la
creación de clases y objetos que representan entidades o conceptos del mundo real, y la creación de
complejos.
1. Hola mundo: Este es un programa básico que imprime "Hola mundo" en la pantalla.
2. Suma de dos números: Este programa lee dos números del usuario y los suma.
3. Factorial de un número: Este programa calcula el factorial de un número ingresado por el
usuario.
2. Aplicaciones web: Muchas aplicaciones web modernas, como portales de comercio electrónico,
3. Aplicaciones móviles: Muchas aplicaciones móviles modernas, como juegos, redes sociales y
4. Sistemas operativos: Muchos sistemas operativos modernos, como Windows y Mac OS, utilizan
sistemas de gestión de recursos humanos y sistemas de gestión de cuentas por pagar, están
Algunos ejemplos de objetos dentro de una organización que se pueden aplicar en un programa
son:
Empleados: se pueden crear objetos para cada empleado que contengan información como su
Proyectos: se pueden crear objetos para cada proyecto que contengan información como su
Productos: se pueden crear objetos para cada producto que contengan información como su
Clientes: se pueden crear objetos para cada cliente que contengan información como su nombre,
Conclusión
Aunque la programación orientada a objetos ofrece grandes ventajas debido a sus características
como herencia y encapsulación, aún quedan problemas por resolver. No existe un idioma dominante para
eliminar las dependencias entre ellos, y después de meses de trabajo, la definición de la clase puede estar
equivocada. Por otro lado, todos los elementos del programa tenían que ser tratados como objetos, y la
programación orientada a aspectos (POA). Aunque todavía está en sus inicios, cada vez más personas
REFERENCIAS
http://es.wikipedia.org/wiki/Orientado_a_objetos
http://www.monografias.com/trabajos/objetos/objetos.shtml
http://www.desarrolloweb.com/articulos/499.php