E.F.1.Investigación Documental y Exposición - Tema 1. Introducción. 2. Objetos y Clases

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 15

INSTITUTO TECNOLOGICO SUPERIOR DE

CALKINI EN EL ESTADO DE CAMPECHE


DOCENTE: RICARDO GOMEZ KU

MTG-1023 PROGRAMACIÓN AVANZADA


INGENIERÍA MECATRÓNICA
SEXTOSEMESTRE - PRIMER PARCIAL
ACTIVIDAD: E.F.1. /Investigación Documental y Exposición
- Tema/ 1. Introducción. / 2. Objetos y Clases.

INTEGRANTES:

GOMEZ PAAT KEVIN JAIR


MARTINEZ YANEZ ROBERT ALEXANDER

CALKINI, CAMPECHE
Índice
Introducción ................................................................................................................................. 3
Resumen ...................................................................................................................................... 3
Abstract ........................................................................................................................................ 4
Desarrollo..................................................................................................................................... 4
Programación Orientada a Objetos (POO) .................................................................................. 4
Objeto........................................................................................................................................ 5
Clase .......................................................................................................................................... 6
Análisis y Diseño ........................................................................................................................ 9
Objeto...................................................................................................................................... 12
Clase ...................................................................................................................................... 12
Ventajas de la POO................................................................................................................... 13
Conclusión ................................................................................................................................. 14
Bibliografía ................................................................................................................................. 14
Introducción
Los sistemas informáticos en conjunto con las tecnologías de información han
revolucionado la manera en la que operan las organizaciones desde una empresa
del sector privado hasta una institución educativa. A través de su uso se logran
importantes mejoras, puesto que se automatizan los procesos operativos que la
mayoría de las veces, resultan muy costosos además de que dichas tecnologías
brindan una plataforma de información que permite la toma de decisiones de
manera más eficiente. Hoy en día es, si no es indispensable, si es muy benéfico
contar con un sistema informático

A lo largo de los años, el desarrollo de software se ha vuelto cada vez más complejo,
es muy común que, durante el desarrollo de algún proyecto de software, éste sufra
retrasos, utilice más recursos de los planeados, se modifique el alcance planeado
originalmente entre otras situaciones. Las razones o causas de lo anterior pueden
ser varias, entre ellas se puede mencionar: la mala estimación de los proyectos en
cuanto a tiempo y recursos se refiere, la mala definición de requerimientos; puesto
que generalmente un usuario no tiene claro que es lo que espera de un sistema, así
como la carencia de un modelado adecuado de las características y componentes
que se requieren en la aplicación. Es por ello que hoy en día la utilización de
elementos como los diagramas de UML en la fase de análisis y diseño, permiten
modelar y documentar los procesos de negocios, sus interfaces, requerimientos y
actividades basados en el paradigma orientado a objetos, lo cual contribuye a un
desarrollo de software más eficiente y eficaz, así como a facilitar la comunicación
entre desarrolladores, analistas y usuarios, mediante el uso de un lenguaje común.

Resumen
Los objetos son ejemplares de una clase cualquiera. Cuando creamos un ejemplar
tenemos que especificar la clase a partir de la cual se creará. Esta acción de crear
un objeto a partir de una clase se llama instanciar (que viene de una mala traducción
de la palabra instace que en inglés significa ejemplar). Por ejemplo, un objeto de la
clase fracción es por ejemplo 3/5. El concepto o definición de fracción sería la clase,
pero cuando ya estamos hablando de una fracción en concreto 4/7, 8/1000 o
cualquier otra, la llamamos objeto.

Abstract
Objects are instances of any class. When we create an instance we have to specify
the class from which it will be created. This action of creating an object from a class
is called instantiating (which comes from a bad translation of the word instace which
in English means exemplary). For example, an object of class fraction is for example
3/5. The concept or definition of fraction would be the class, but when we are already
talking about a specific fraction 4/7, 8/1000 or any other, we call it an object.

Desarrollo
Programación Orientada a Objetos (POO)
Conceptos Básicos

Un paradigma es un modelo o ejemplo para seguir, por una comunidad científica,


es un ejemplo de los problemas que tiene que resolver y del modo como se van a
dar las soluciones. Un paradigma es una manera de entender el mundo, explicarlo
y manipularlo.

El paradigma Orientado a Objetos es una poderosa metodología de diseño basada


en los siguientes principios:

a) Estructurar un sistema en componentes modulares que se pueden desarrollar,


mantener y reutilizar por separado de manera que se pueda tener un control
adecuado de la complejidad de dicho sistema.

b) Basar la estructura y comportamiento de la solución en un problema que haya


sido solucionado previamente.

c) Elevar el nivel de abstracción de los componentes que serán construidos.


d) Utilizar un lenguaje común con el cliente, de manera que el negocio y la
tecnología puedan ligarse y se pueda mejorar la comunicación.

e) Describir el problema de manera precisa y de forma que se evite entrar en detalles


técnicos.

f) Permitir las bases para una administración efectiva del proceso de desarrollo y
tener el mejor costo – beneficio posible.

g) Automatizar tareas repetitivas de diseño e implementación.

h) Facilitar los procesos iterativos – incremental, de arquitectura y de pruebas para


mitigar el riesgo.

i) Responder rápidamente a los cambios de acuerdo con las necesidades de los


usuarios.

Siguiendo los principios mencionados anteriormente, la programación orientada a


objetos, intenta simular el mundo real a través del significado de un objeto que
contiene características y funciones.

La Programación Orientada a Objetos está basada en conceptos tales como: objeto,


clase y método y además cuenta con una serie de características que incluyen:
herencia, abstracción, jerarquía, polimorfismo, encapsulamiento y modularidad. A
continuación, se describe cada uno de estos conceptos brevemente:

Objeto
Un objeto es la unidad atómica que encapsula un estado y comportamiento,
este puede caracterizar una entidad física o abstracta. En el mundo cotidiano un
objeto representa un elemento identificable que está constituido por ciertas
características o atributos y es capaz de realizar un conjunto de acciones u
operaciones. En este sentido, un objeto posee:

• Estado: El estado de un objeto lo constituyen todos los datos que encapsula en un


momento determinado.
• Comportamiento: la manera en que actúa y reacciona un objeto, esto en función
de sus cambios de estado y el paso de mensajes.

• Identidad: La idea es que los objetos no se definen por los valores de sus atributos
en un momento determinado, un objeto tiene una existencia continua.

En la programación orientada a objetos, un objeto es una instancia de una clase.


Los objetos le ofrecen al programador una herramienta para implementar:
modularidad y simulación.

Clase
Una clase es un conjunto de objetos que comparten una estructura y un
comportamiento común, describe un conjunto de objetos que tienen un rol o roles
equivalentes en un sistema.

En otras palabras, una clase es un grupo de objetos con características comunes


(atributos), comportamiento común (operaciones) y relaciones comunes con
otros objetos (asociaciones y agregaciones). Una clase es una definición
abstracta de un objeto que:

• Enfatiza las características relevantes de los objetos.

• Define la estructura y comportamiento de un objeto.

• Sirve como "plantilla" para crear nuevos objetos.

a) Mensaje

A la unidad de comunicación entre los objetos se le llama mensaje. Un mensaje


es en esencia, la petición de un servicio; posee un emisor, un receptor y una
acción.

Para que los objetos de un sistema trabajen en conjunto, un objeto envía a otro
objeto, una llamada para realizar una operación y el objeto receptor ejecutará la
operación.
b) Método

Como se mencionó anteriormente, los objetos pueden realizar operaciones,


dichas operaciones se conocen como métodos. Un método es un algoritmo
asociado a un objeto (o a una clase de objetos), cuya ejecución se desencadena
tras la recepción de un "mensaje".

Desde el punto de vista del comportamiento, es lo que el objeto puede hacer. Un


método puede producir un cambio en las propiedades del objeto, o la generación
de un "evento" con un nuevo mensaje para otro objeto del sistema.

Características

a) Abstracción

La abstracción es la propiedad que nos permite representar las características


esenciales de un objeto, permitiéndonos omitir las propiedades y acciones de un
objeto que no son de nuestro interés y dejar sólo aquellas que nos interesan
para una situación en particular.

b) Herencia

El concepto de herencia, dentro del Paradigma Orientado a Objetos, es uno de


los más significativos y de más trascendencia. Consiste en trasladar al contexto
de objetos el más puro significado de la palabra "herencia", es decir el hecho de
que una clase "padre" herede características, estructuras y comportamiento a
todas las clases "hijas". En sentido estricto se reutilizan las clases para definir
nuevas.

La clase general o "padre" es llamada superclase y a la clase especializada o


"hija" es llamada subclase. La superclase define un comportamiento (protocolo)
que todas las subclases heredan. Asimismo, las subclases pueden agregar
nuevos atributos y operaciones. Las subclases pueden sobre escribir
operaciones conservando la firma, es decir la manera en la que está declarado,
pero proporcionando distintas implementaciones.

c) Jerarquía

La jerarquía es el concepto, que, en conjunto con la propiedad de abstracción,


permite clasificar y ordenar a los objetos de dos maneras:

• Generalización/Especialización. Organización establecida de lo particular a lo


general, conceptualmente se utiliza la frase "es un" para establecer la
generalización.

• Agregación. Organización establecida de las partes hacia el "todo",


conceptualmente se utiliza la frase "es parte de" para establecer la agregación.

d) Polimorfismo

Es la propiedad por la cual dos o más clases responden al mismo mensaje cada
uno de manera diferente, lo que permite realizar la misma operación de forma
diferente en cada objeto.

El polimorfismo es una característica de una clase que puede tomar varias


formas:

• El comportamiento de una clase puede variar de acuerdo con las


circunstancias.

• En ocasiones una operación tiene el mismo nombre en distintas clases.

• Así mismo cada subclase hereda las operaciones, pero tiene la posibilidad de
modificar el comportamiento de estas operaciones, pero únicamente de manera
interna a la clase.

El resultado del código (o acción) que se va a ejecutar es el resultado de un


enlace dinámico, el polimorfismo nos permite obtener un comportamiento y
diseño coherente de nuestro sistema.
e) Encapsulamiento

Esta propiedad en general hace referencia a cualquier tipo de ocultamiento de


una clase.

Permite asegurar que el contenido de la información (atributos y métodos) de un


objeto está oculta al mundo exterior, protegiéndola de esa forma y ocultando su
implementación a los usuarios. La única manera de acceder a la información de
un objeto y manipularla es a través de las operaciones. Las ventajas de la
encapsulación son:

• Da seguridad a nuestros datos al protegerlos de accesos no autorizados.

• Disminuye el acoplamiento entre las clases, lo que le da flexibilidad a nuestro


sistema.

• Nos permite hacer módulos de nuestro sistema, lo que facilita su


mantenimiento.

El encapsulamiento protege los atributos con métodos de accesos que los


definen como privados y los métodos o comportamientos que se definen como
públicos y de esta manera se puede acceder a la clase ya que este método de
acceso permite a otras clases ocupar sus comportamientos.

f) Modularidad

El modularidad es la propiedad que permite subdividir una aplicación en partes


más pequeñas llamadas módulos. Cada uno de estos módulos puede ser tan
independiente como sea posible de la aplicación y de las otras partes.

Análisis y Diseño
El objeto de esta disciplina de trabajo es traducir los requisitos a una
especificación que describa como implementar el sistema, es decir, trasladar los
requerimientos funcionales a conceptos de software. Las principales actividades
de la etapa de análisis y diseño son:
• Transformar los requerimientos en un diseño del sistema a crear.

• Definir una arquitectura para el sistema.

• Adaptar el diseño para que funcione en el ambiente de implementación y así


obtener un performance adecuado.

El análisis consiste en obtener una visión del sistema que se preocupa de ver
QUÉ hace, de modo que sólo se interesa por verificar los requisitos funcionales.

Por otro lado, el diseño es un refinamiento del análisis que tiene en cuenta los
requisitos no funcionales, en definitiva, CÓMO cumple el sistema sus objetivos.
Así mismo el diseño permite la implementación del sistema libre de
ambigüedades.

Diagrama de Clases

Al contar con el visto bueno de los diseños de pantallas se procedió a realizar el


análisis técnico para poder realizar la implementación del sistema.

La finalidad del diagrama de clases es representar todas las entidades


involucradas, así como las relaciones entre ellas. En un primer acercamiento, se
genera un diagrama de clases básico, en el que se representan las clases con
su respectivo estereotipo y las relaciones identificadas. Para comenzar
definiremos los estereotipos que pueden tener las clases:

• Clases Boundary: Manejan comunicaciones entre el entorno del sistema y éste,


suelen proporcionar la interfaz con un usuario o con otro sistema, por lo tanto,
modelan las interfaces éste.

• Clases Control: Modelan el comportamiento específico de uno o varios casos


de uso. Se trata de clases que coordinan los eventos necesarios para llevar a
cabo el comportamiento que se especifica en el caso de uso, representan su
dinámica.
• Clases Entity: Modelan información de larga vida y su comportamiento
asociado. Este tipo de clase suele reflejar elementos del mundo real o bien,
elementos necesarios para realizar tareas internas al sistema. También se
denominan clase dominio, ya que suelen tratar con abstracciones de entidades
del mundo real.

Como se puede apreciar se incluyen las clases Boundary (clases de la vista), las
clases Control que procesan la información de acuerdo a las reglas de negocio
descritas en el caso de uso y finalmente las clases Entity que se encargan de
llevar la información hacia la Base de Datos.

En la figura, se representan las clases identificadas por medio del diagrama de


clases.

Una vez que se ha definido el flujo y que el diseño se ha detallado, se procede


a visualizar las clases adicionales que se requieren implementar y cómo será la
comunicación entre ellas.
Objeto
El uso de objetos en la programación está relacionado con el hecho de que el mundo
está constituido de objetos que interactúan entre sí, todo aquello que está en la
naturaleza es un objeto y cada uno está formado de otros objetos más pequeños;
pero ¿cómo definir un objeto? Un objeto es un sustantivo en singular, si se recuerda
que un sustantivo es aquello que existe: una persona, animal, planta o cosa,
entonces todo lo que se incluye en esta definición es un objeto.
Ejemplo: un computador, un rectángulo, una persona, un libro, un carro, un perro,
una factura, una cuenta bancaria. identificar objetos concretos es relativamente
sencillo, sin embargo, identificar objetos abstractos requiere un poco de práctica e
intuición como por ejemplo, transacción de una cuenta bancaria, detalle de una
factura, que son objetos no tan evidentes, pero que son los que en la mayoría de
casos serán los objetos que deberán ser implementados en programas, ya que
interactuarán con los objetos más evidentes como la factura, o la cuenta bancaria
en el caso de la transacción.
Clase
Podemos decir que pueden haber muchos objetos del mismo tipo, con las mismas
características y funcionalidades, se crean las clases, que representan los modelos
ideales de un objeto, una plantilla a partir de la cual se pueden crear objetos que
compartan esas características y funcionalidades; así, tomando en cuenta algunos
de los ejemplos de objetos mencionados anteriormente, algunas clases
serían: Clase Transacción, Clase Rectángulo, Clase Persona, Clase Factura; esto
significa que cada vez que se requiera una transacción se creará un objeto basado
en la plantilla Transacción; cuando se requiera un objeto rectángulo se creará a
partir de la plantilla Rectángulo; y así con cada uno de los objetos, siempre que se
requiera un objeto de un tipo específico con unas características y funcionalidades
se deberá crear una plantilla (clase) que será el modelo para todos los objetos de
ese tipo. Luego cada objeto será personalizado, al recibir valores para cada uno de
los atributos especificados en su plantilla.
A la acción de crear objetos, se denomina instanciar una clase; relacionando con
los conocimientos adquiridos hasta ahora, una Clase se puede considerar como un
nuevo tipo de datos, personalizado, creado por el programador, y la variable de ese
nuevo tipo de dato, es el objeto.
Factura fact;
Factura es la clase y fact es el objeto de la clase Factura. Cuando se le asigne
valores a ese objeto fact, en ese momento se realiza la instanciación.
Las clases tienen una parte privada y una parte pública.

Ventajas de la POO
A continuación, se mencionan las ventajas más importantes de la utilización de
programación orientada a objetos:

• La aplicación de conceptos tales como: objetos, clases, herencia, polimorfismo,


jerarquía, en los componentes de un sistema de información, facilita que los
mismos puedan ser ampliamente reutilizables.

• La reutilización de código, así como el manejo de clases y objetos permite un


desarrollo más rápido, flexible y modular de sistemas y aplicaciones.

• La POO favorece la creación de mejores estructuras de información.

• Facilita el mantenimiento y escalabilidad de una aplicación, ya que entre otras


cosas permite la incorporación de otras aplicaciones o componentes externos.

Todas estas ventajas traen como consecuencia dos aspectos fundamentales:


disminución de los costos de desarrollo y el incremento de la calidad del sistema.
El uso y aplicación de la metodología orientada a objetos facilita el diseño e
implementación de los sistemas con interfaces gráficas de usuario, así como nos
permiten desarrollar sistemas inmersos de tiempo real con una mejor calidad y
flexibilidad.
Conclusión
KEVIN JAIR GOMMEZ PAAT

Como se pudo entender, las clases son declaraciones de objetos, también se


podrían definir como abstracciones de objetos. Esto quiere decir que la definición
de un objeto es la clase. Cuando programamos un objeto y definimos sus
características y funcionalidades en realidad lo que estamos haciendo es programar
una clase.

ROBERT ALEXANDER MARTINEZ YANEZ

Lo aprendido fue que la programación ya es de utilidad para poder tener la mayoría


de los equipos que necesitamos en la vida diaria, ya se apara cocinar, escuchar
música y en todas las formas que lo queramos utilizar.

Bibliografía
Cadena, D. A. (s.f.). prog_avanzada. Obtenido de prog_avanzada.:
http://galia.fc.uaslp.mx/~fac/progav/prog_avanzada.pdf

ObjetosClasesRelaciones. (2011-2013). ObjetosClasesRelaciones. Obtenido de


ObjetosClasesRelaciones:
https://www.uv.mx/personal/jfernandez/files/2013/02/ObjetosClasesRelacion
es.pdf

www.ptolomeo.unam.mx. (s.f.). Obtenido de www.ptolomeo.unam.mx:


http://c:8080/xmlui/bitstream/handle/132.248.52.100/1151/Tesis.pdf?sequen
ce=1

También podría gustarte