Informtica IV
Programacin Orientada a
Objetos
Unidad I: Mantenimiento
preventivo y correctivo
Alejandra Valerio Romero.
alexa_valerio@comunidad.unam.mx
No. Cta.: 412129496
Asesor: Lic. Hugo Daz
Fecha entrega: 23/02/2016
Contenido
CONTENIDO...................................................................0
INTRODUCCIN..............................................................1
OBJETIVO......................................................................1
EN QU CONSISTE EL PARADIGMA ORIENTADO A
OBJETOS?......................................................................2
Entender y definir el paradigma orientado a objetos, as como sus
principios, conceptos y usos.
Paradigma imperativo......................................................................2
Paradigma lgico.............................................................................2
Paradigma Orientado a Objetos........................................................2
Paquete.......................................................................................................... 9
Recoleccin de basura....................................................................................9
MESOGRAFA...............................................................12
Introduccin
La Programacin Orienta a Objetos (POO u OOP por sus siglas en ingls), es un
paradigma de programacin. Es importante que definamos primero qu es un
paradigma. Segn la Real Academia Espaola, en su vigsima tercera edicin;
un paradigma es una teora cuyo ncleo central, suministra la base y modelo
para resolver problemas. Por lo tanto, el paradigma orientado a objetos, como
tal nos ensea un mtodo (probado y estudiado), el cual se basa en las
interacciones de objetos para resolver las necesidades de un sistema
informtico. Un paradigma es una forma de entender y representar la realidad:
un conjunto de teoras, estndares y mtodos que, juntos, representan un
modo de organizar el pensamiento, es decir, un modo de ver el mundo. Cada
nuevo paradigma responde a una necesidad real de nuevas formas de afrontar
problemas. A menudo un nuevo paradigma es creado como respuesta a las
deficiencias de paradigmas anteriores.
Tradicionalmente, datos y procesamiento se han separado en reas diferente
del diseo y la implementacin de software. Esto provoc que grandes
desarrollos tuvieran problemas de fiabilidad, mantenimiento, adaptacin a los
cambios y escalabilidad.
Un paradigma de programacin es una forma de conceptualizar en qu
consiste la ejecucin de un programa y cmo deben de estructurarse y
organizarse las tareas que se llevaran a cabo en esa ejecucin.
Objetivo
Paradigma lgico
Comprende dos paradigmas de la programacin, la declarativa y la funcional.
La declarativa gira en torno al concepto de predicado o relacin entre
elementos., la funcional se basa en el concepto de funcin (que es una
evolucin de los predicados), de corte ms matemtico.
Herencia
Por ejemplo, herencia de la clase C a la clase D. es la facilidad mediante la cual
la clase D hereda en ella cada uno de los atributos y operaciones de C, como si
esos atributos y operaciones hubiesen sido definidos por la misma D. por lo
tanto, puede usar los mismos mtodos y variables pblicas declaradas en C.
los componentes registrados como privados (private) tambin se heredan,
pero como no pertenece a la clase, se mantienen escondidos al programador y
slo pueden ser accedidos a travs de otros mtodos pblicos. Esto es as para
mantener hegemnico el ideal de POO.
Permite crear clases nuevas a partir de clases ya existentes, estableciendo
niveles de jerarqua y programando slo las diferencias, refina las estructuras
sin necesidad de duplicar informacin. La clase nueva (jerarqua inferior) es
conocida como subclase o clase derivada y la clase de mayor nivel se
denomina superclase o clase
base.
Objeto
Instancia
de
una
clase.
Entidad
provista
de
un
conjunto de propiedades o
atributos
(datos)
y
de
comportamiento
o
funcionalidad
(mtodos),
mismo
que
consecuentemente
reaccionan a eventos. Se
corresponden con los objetos
reales del mundo que nos rodea, o con objetos internos del sistema
(programa). Tienen tres caractersticas:
Estado:
Identidad:
Comportamiento:
Mtodo
Algoritmo asociado a un objeto (o a una clase de objetos), cuya ejecucin se
desencadena tras la recepcin de un mensaje. Desde el punto de vista del
comportamiento, es lo que el objeto puede hacer. Un mtodo puede producir
un cambio en las propiedades del objeto, o en la generacin de un evento
con un nuevo mensaje para otro objeto del sistema.
Evento
Es un suceso en el sistema (tal como una
interaccin del usuario con la mquina, o
un mensaje enviado por un objeto). El
sistema maneja el evento enviando el
mensaje adecuado al objeto pertinente.
Tambin se puede definir como evento a
reaccin que puede desencadenar un
objeto; es decir la accin que genera.
la
Atributos
Caractersticas que tiene la clase.
Mensaje
Una comunicacin dirigida a un objeto, que le ordena que ejecute uno de sus
mtodos con ciertos parmetros asociados al evento que lo gener.
Propiedad o atributo
Contenedor de un tipo de datos asociados a un objeto (o una clase de objetos),
que hace los datos visibles desde fuera del objeto y esto se define como sus
caractersticas predeterminadas, y cuyo valor puede ser alterado por la
ejecucin de algn mtodo.
Estado interno
Es una variable que se declara privada, que puede ser nicamente accedida y
alterada por un mtodo del objeto, y que se utiliza para indicar distintas
situaciones posibles para el objeto (o clase de objetos). No es visible al
programador que maneja una instancia de la clase.
Principios
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. El proceso de
abstraccin permite seleccionar las caractersticas
relevantes dentro de un conjunto e identificar
comportamientos comunes para definir nuevos
tipos de entidades en el mundo real. Es la clave en
el proceso de anlisis y diseo orientado a objetos,
ya que mediante ella podemos llegar a armar un
conjunto de clases que permitan modelar la realidad o
el problema que se quiere atacar.
Un ejemplo es cmo y qu capta cada una de las
seoras el concepto de gato.
Encapsulamiento
Significa reunir todos los elementos que pueden
considerarse pertenecientes a una misma entidad, al
mismo nivel de abstraccin. Esto permite aumentar la
cohesin (diseo estructurado) de los componentes del
sistema. Se refiere a incluir dentro de un objeto todo lo
que este necesita y hacerlo de forma tal que ningn otro
objeto vea su estructura interna. Proteger los datos de
un objeto del uso arbitrario.
Jerarqua
Es el resultado de distinguir un concepto que es ms general que otro. Permite
examinar si los conceptos tienen algo en
comn. Nos ayuda a percibir que todas
las instancias de un concepto ms
especfico son tambin instancias de un
concepto general.
Poliformismo
Herencia
Las clases no se encuentran 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 poliformismo y el encapsulamiento, permitiendo a los objetos ser
definidos y creados como tipos especializados de objetos preexistentes.
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; siendo de alta complejidad tcnica por lo cual suele recurrirse a la
herencia virtual para evitar la duplicacin de datos.
Modularidad
Criterio 1-
Criterio 3-
Criterio 4-
Criterio 5-
Regla 1-
Regla 2-
Regla 3-Pequeas
Regla 4-
Principio 1-
Principio 2-
Auto-documentacin. Toda la
informacin relativa a un mdulo debe formar
parte del mismo mdulo.
Principio
Principio 5-
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; eliminando efectos secundarios e interacciones inesperadas.
Persistencia
Es la propiedad que tiene un objeto de existir en el tiempo y en el espacio,
existe hasta que no sea ms necesitado y el espacio que ocupa es reutilizado.
Tanto la necesidad de espacio para almacenar el objeto como su recuperacin,
involucran a los dependientes (objetos relaciones) de dicho objeto.
Concurrencia
Es la propiedad que distingue un objeto activo de uno que no lo es. Permite a
diferentes objetos actuar al mismo tiempo; cada uno de ellos tiene autonoma.
10
Paquete
Son una forma de agrupar clases es interfaces asociadas. Habilitan los grupos
de clases para estar disponibles slo si son necesarios y eliminan los conflictos
potenciales entre los nombres de clases en grupos diferentes de clases.
Recoleccin de basura
Es la tcnica por la cual el entorno de objetos se encarga de destruir
automticamente, y por tanto desvincular la memoria asociada, los objetos que
hayan quedado sin ninguna referencia a ellos.
11
12
Semntica y presentacin
Los modelos tienen dos aspectos importantes:
(semntica) y presentacin visual (notacin).
Informacin
semntica
Notacin
La notacin no agrega significado a un modelo, sino que ayuda al usuario a
entender su significado. No tiene semntico, sino que agrega a menudo las
connotaciones para un usuario, tal como la afinidad percibida de dos conceptos
basados en su proximidad en un diagrama.
La notacin es algo ms que figuras: incluye informacin en texto e
hiperenlaces invisibles entre elementos de representacin.
La notacin debe ser un vehculo para capturar la forma de funcionar, el
comportamiento y la estructura de un sistema.
14
Mesografa
http://www.capacinet.gob.mx/Cursos/Tecnologia
%20amiga/desarrolladordesoftware/POO_SE.pdf
http://aprendeenlinea.udea.edu.co/lms/men_udea/mod/page/view.php?
id=19537
http://librosweb.es/libro/python/capitulo_5/pensar_en_objetos.html
http://librosweb.es/libro/python/capitulo_5/programacion_orientada_a_obj
etos.html
http://trevinca.ei.uvigo.es/~rlaza/teoria/OO_Transparencias.pdf
https://es.wikipedia.org/wiki/Programaci%C3%B3n_orientada_a_objetos
http://www.kybele.etsii.urjc.es/docencia/IS_LADE/2012-2013/Material/
%5BIS-LADE-2012-13%5DT10%20-%20Introducci%C3%B3n%20a%20la
%20Orientaci%C3%B3n%20a%20Objetos.pdf
http://www.scielo.org.ve/scielo.php?script=sci_arttext&pid=S131648212009000100008
http://es.slideshare.net/karlalopezbello/principios-orientacionobjetos
15