POO ED

Páginas: 5 (1115 palabras) Publicado: 25 de abril de 2016
Teoría
Introducción a la
Programación Orientada a
Objetos (POO)

POO - Colecciones
Una característica importante de los lenguajes que
utilizan la POO es la de permitir las colecciones
genéricas:



Arreglos genéricos



Listas genéricas



Arboles genéricos

Cómo
sería una
lista
genérica?

POO - Colecciones
Clase Lista;
Lis = ^nodo;
nodo = record
elemento : object;
sig : lis;
end;
primero,actual : lis;
cantidad : integer;
Constructor crear();
begin
primero := nil;
cantidad := 0;
end;

Elemento de qué
tipo es?

POO - Colecciones
procedure inicializar();
begin
actual := primero;
end;
procedure avanzar();
begin
actual := actual^.sig;
end;
procedure devolverElemento (var unObjeto :
object)
begin
unObjeto := actual^.elemento;
end;

POO - Colecciones

procedure agregarElemento (unObjeto: object)
var aux:lis
begin
new(aux);
aux^.elemento := unObjeto;
aux^.sig := primero
primero := aux;
cantidad := cantidad + 1;
end;

POO - Colecciones
function fin : boolean;
begin
fin := (actual = nil);
end;
function verCantidad : integer;
begin
verCantidad := cantidad;
end;
End; {fin de la clase Lista}

Diagramas de Clases
Es un diagrama que muestra las relaciones entre las clases
queinvolucran

un

sistema,

las

cuales

pueden

ser

asociativas, de herencia, de uso y de contenimiento.
Un diagrama de clases está compuesto por los siguientes
elementos:
Clases: atributos, métodos y visibilidad.
Relaciones: asociativas, de herencia, de uso, de
contenimiento.

PERSONA

Nombre
Apellido
Dni
Teléfono
localidad
dirección
crear ()
//operaciones necesarias para
ver y modificar losatributos
de la persona.

Superior: Contiene el nombre de la Clase
Intermedio: Contiene los atributos que caracterizan a la Clase (pueden
ser privados, públicos).
Inferior: Contiene los métodos que le permiten al objeto nteractúar con
su entorno (dependiendo de la visibilidad: privados o publicos).

Programación Orientada a Objetos - Ejemplo

Se desea modelar una sede de la UNRN. En la
misma existendocentes que dictan materias (cada
docente dicta una materia). Además a la sede
concurren alumnos, para los cuales se mantiene el
conjunto de materias de las cuales ya han
aprobado su cursada y aquellas que están
cursando.
Se pide modelar la Sede y agregar lo necesario
para:
 Inscribir un alumno a la Sede.
 Informar el docente con mayor antigüedad

PERSONA
Nombre, apellido, dni
Teléfono, localidaddirección
crear ()
//operaciones necesarias
para ver y modificar los
atributos de la persona.

ALUMNO

FECHA
Dia, Mes, año
crear ()
//operaciones
necesarias para ver y
modificar los
atributos de la fecha.

DOCENTE

nroAlumno
materiasEnCurso
materiasConCurAp

materia
fechaIngreso

crear ()
//operaciones
necesarias para ver y
modificar los atributos
del alumno.

crear ()
//operaciones
necesarias paraver y
modificar los
atributos del docente.

LISTA

MATERIA

primero, actual
SEDE
Crear
Inicializar
Avanzar
devolverElemento
fin

Nombre, dirección
Alumnos
docentes
crear ()
//operaciones
necesarias para ver y
modificar los atributos
de la facultad.

nombre
código
año
crear ()
//operaciones
necesarias para ver y
modificar los
atributos de la
materia.

Programación Orientada a Objetos - EjemploClase Fecha:
dia, mes, año : integer;
Constructor crear (unDia, unMes, unAño : integer)
begin
dia := unDia;
mes := unMes;
año := unAño;
end;
{todas las operaciones para ver y modificar los atributos de la clase
fecha}
function diferenciaDias (f : Fecha) : integer
var numActual, numf : integer
begin
numActual := (año - 1900) * 365 + mes*30 + dia;
numf := (f.verAño() - 1900) * 365 + f.verMes() *30 +f.verDia();
diferenciaDias:= abs (numActual - numf);
end;
End;

....el resto de la implementación ...la compartimos en el foro

Programación Orientada a Objetos - Ejemplo
Clase Materia;
nombre : string;
codigo : integer;
año : integer;
Constructor crear (unNombre:string, unCodigo:integer,
unAño:integer)
begin
nombre := unNombre;
codigo := unCodigo;
año := unAño;
end;
{todas las operaciones para...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • La poo
  • pooo
  • pooo
  • Pooo
  • pooo
  • Pooo
  • Poo
  • poo

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS