Sei sulla pagina 1di 6

CENTRO UNIVERSITARIO DE

CIENCIAS EXACTAS E INGENIERIAS


Seminario De Estructura de datos i
Prof. Adriana Lizette Ramrez Franco

Daz Martnez Jenifer Amairani


211396747

Definiciones:
APUNTADOR: Los apuntadores son variables que almacenan direcciones de memoria.Un
apuntador contiene la direccin de una variable que contiene un valor especfico.
Una variable se refiere directamente a un valor y un apuntador se refiere indirectamente a
un valor. Se puede llegar a obtener un cdigo ms compacto y eficiente.
Cuando se emplean sin cuidado pueden crear programas imposibles de entender.
Cuentan con una declaracin propia.
Los apuntadores disponen de dos operadores: El operador unario o mondico &
devuelve la direccin de memoria de una variable; El operador de indireccin o
desreferencia * devuelve el ``contenido de un objeto apuntado por un apuntador''.
MEMORIA DINAMICA: La memoria dinmica es un espacio de almacenamiento que se
solicita en tiempo de ejecucin. De esa manera, a medida que el proceso va
necesitando espacio para ms lneas, va solicitando ms memoria al sistema operativo
para guardarlas. El medio para manejar la memoria que otorga el sistema operativo, es el
puntero, puesto que no podemos saber en tiempo de compilacin dnde nos dar
huecos el sistema operativo (en la memoria de nuestro PC).
CLASE: Una clase es la estructura de un objeto, es decir, la definicin de todos los
elementos de que est hecho un objeto. Un OBJETO es, por lo tanto, el "resultado" de una
clase. En realidad, un OBJETO es una instancia de una clase, por lo que se pueden
intercambiar los trminos objeto o instancia (o incluso evento).
Una clase se compone de dos partes:

Atributos (denominados, por lo general, datos miembros): esto es, los datos que se
refieren al estado del objeto
Mtodos (denominados, por lo general, funciones miembros): son funciones que
pueden aplicarse a objetos

DIAGRAMA DE CLASES: Un diagrama de clases es una representacin grfica que sirve


para representar la estructura de un sistema que ser implementado utilizando un
lenguaje orientado a objetos. Los diagramas de clases se realizan en la fase de diseo del
software despus de la fase de requisitos. La idea de estos diagramas es representar las
clases que tendr el sistema as como su contenido y sus relaciones con otras clases. La
implementacin de sistemas medianamente grandes no sera abordable sin este tipo de
diagramas, y aunque fuera abordable se tardara mucho ms y sera ms fcil cometer
errores.

RELACIONES ENTRE CLASES:


Segn G. Booch [Booch, 94] existen tres clases bsicas de relaciones entre los objetos:

Agregacin / Composicin
Asociacin
Generalizacin / Especializacin. HERENCIA
+ Herencia Simple.
+ Herencia Mltiple

Agregacin / Composicin (todo-parte//tiene-un // parte-de).


Esta relacin se presenta entre una clase TODO y una clase PARTE que es componente de
TODO. La implementacin de este tipo de relacin se consigue definiendo como atributo
un objeto de la otra clase que es parte-de.
Los objetos de la clase TODO son objetos contenedores. Un objeto contenedor es aquel
que contiene otros objetos.
En la agregacin, las clases contienen objetos, y no otras clases.
Tipos de agregacin
Por contenido fsico o por valor
El contenedor contiene el objeto en s. Cuando creamos un objeto contenedor, se crean
tambin automticamente los contenidos.
Agregacin conceptual o por referencia
Se tienen punteros a objetos. No hay un acoplamiento fuerte. Los objetos se crean y se
destruyen dinmicamente.
La relacin de agregacin/composicin establece jerarquas de clases por grado de
composicin.
ASOCIACIN:
Especifica una relacin semntica entre objetos no relacionados. Este tipo de relaciones
permiten crear asociaciones que capturen los participantes en una relacin semntica.
Es una relacin entre clases. Implica una dependencia semntica. Son relaciones del tipo
pertenece_a o est_asociado_con. Se da cuando una clase usa a otra clase para
realizar algo.
Multiplicidad de la Relacin
Indica el nmero de instancias de una clase que se asocian con las instancias de la otra
clase.

Tipos de multiplicidad:
uno_a_uno
uno_a_muchos
muchos_a_muchos
La implementacin en cdigo suele conseguirse mediante un puntero desde la clase a la
clase asociada. Un puntero (referencia), por cada instancia de esa relacin.
GENERALIZACIN / ESPECIALIZACIN: HERENCIA.
De todas las relaciones posibles entre las distintas clases y objetos, hay que destacar por su
importancia en O.O la relacin de herencia. La relacin de herencia es una relacin
entre clases que comparten su estructura y el comportamiento.
Se denomina herencia simple: Cuando
comportamiento de una sola clase.
Se denomina herencia mltiple:
comportamiento de varias clases.

una

clase

comparte

la

estructura

Cuando una clase comparte la estructura y

Para que un lenguaje de programacin pueda ser considerado orientado a objetos, debe
implementar el mecanismo de herencia.
La relacin de herencia entre dos clases es una relacin binaria entre dos clases que nos
dice:

La clase subclase o derivada hereda de la clase base o superclase.


La clase superior de la jerarqua, en cada relacin, se denomina superclase, clase
base clase padre y, la clase que hereda de la superclase, se denomina subclase,
clase derivada clase hija.

La herencia es la transmisin de la vista pblica (mtodos pblicos) y la vista privada


(atributos y mtodos privados), de una clase a otra.
La herencia es un mecanismo fundamental en la construccin de clases, necesario para
reutilizar cdigo. Mediante la herencia podemos crear clases nuevas a partir de otras que
ya existen, sin necesidad de reescribir todo el cdigo: mecanismo de reutilizacin de
cdigo.
Mediante la herencia podemos organizar las distintas clases en estructuras jerrquicas.
Cada clase en la jerarqua establece un dominio de elementos incluido en el dominio de
la superclase de la cual hereda.
Esta jerarqua de clasificacin es subjetiva, dependiendo de las intenciones con las que
se pretenda trabajar.

Es muy difcil establecer una relacin perfecta y surgen elementos que no se acomodan
en ninguna categora.
Una relacin de herencia entre dos clases tiene que cumplir al menos dos reglas:
a.Especializacin.
En la subclase se debe producir una especializacin de la superclase; es decir, la subclase
debe incluir todas las caractersticas de la superclase y otras.
b. Responder afirmativamente a la pregunta
Todo objeto del dominio de la subclase es un objeto del dominio de la superclase?
La relacin de herencia es transitiva:
Si C hereda-de A y F hereda-de C entonces F hereda-de A.
La herencia puede ser representada mediante un grafo dirigido en el que los nodos son
las clases y los arcos las relaciones de herencia que parten de la subclase a la superclase.
Relacin de herencia. Subclase o Clase derivada.
En una relacion de herencia entre dos clases BASE y DERIVADA se produce la transmisin
de atributos y mtodos definidos en la clase PADRE hacia la clase HIJA:
Transmisin de atributos y mtodos.
En cada relacin de herencia se transmite la vista pblica y privada de la superclase en
la subclase.
Todos los atributos y mtodos de la superclase son atributos y mtodos de la subclase.
Pero para que esta relacin pueda considerarse de HERENCIA debe producirse algo ms:
Una ESPECIALIZACIN de la clase BASE en la clase DERIVADA
Especializacin de la superclase en la subclase.
Esta especializacin puede llevarse a cabo por diferentes vas que se enumeran del 1 al 5:
1.
2.
3.
4.
5.

Aadir mtodos a los heredados de la superclase.


Aadir atributos y los mtodos que los manejan a los heredados de la superclase.
Redefinir mtodos heredados de la superclase.
Nunca eliminar atributos o mtodos de la subclase.
Aadir atributos y mtodos.

Esta especializacin
tener en cuenta que:

tiene que cumplirse

la Ley estricta de Demeter, que consiste en

Los atributos aadidos en la subclase deben ser manejados por mtodos de la subclase
(aadir atributos puede implicar aadir mtodos).

Los mtodos aadidos en la subclase no deben acceder a los atributos de la superclase


(para respetar la Ley estricta de Demeter).
La Ley de Demeter tiene dos versiones: la Ley estricta de Demeter que no contempla el
acceso a los atributos de finidos en la superclase desde la subclase y la Ley Flexible de
Demeter que si lo permite.
TDA: Un TDA es un tipo de dato definido por el programador que se puede manipular de
un modo similar a los tipos de datos definidos por el sistema.
Est formado por un conjunto vlido de elementos y un nmero de operaciones primitivas
que se pueden realizar sobre ellos.

Potrebbero piacerti anche