View
220
Download
0
Category
Preview:
Citation preview
7/21/2019 Primera Clase Algoritmica II
1/17
UNIVERSIDAD NACIONAL MAYOR DE SANINGENIERIA DE SISTEMAS
ALGORITMICA II
7/21/2019 Primera Clase Algoritmica II
2/17
TIPO DE DATO ABSTRACTO (TDA)
El modelo define una perspectiva
abstracta del problema
Esto implica !ue el modelo se enfo!ue
solamente en aspectos relacionados
con el problema para lue"o definir las
propiedadesdel problema
Estas propiedades inclu#en
los datos!ue son afectadoslas operaciones!ue son identificadas
7/21/2019 Primera Clase Algoritmica II
3/17
TIPO DE DATO ABSTRACTO (TDA)
Ejemplo:EMPLEADOCODIGO
NOMBREDIRECCIONSUELDOHORAS TRABAJADAS
PRESENTACION DE SUS DATOS
REGISTRAR HORAS TRABAJADAS
DETERMINACION DE SU SUELDO
7/21/2019 Primera Clase Algoritmica II
4/17
C$ASE %
Una clase es la implementacin
de un tipo de datos abstracto(TDA). Define atributos ymtodos (datos y operaciones)que implementan la estructura
de datos y operaciones del TDA,respectivamente.
7/21/2019 Primera Clase Algoritmica II
5/17
OBJETO:
Un objeto es una instancia de unaclase. Puede ser identificado en formanica por su nombre y define unestado, el cul es representado por losvalores de sus atributos en un momentoen particular.
7/21/2019 Primera Clase Algoritmica II
6/17
CLASES Y OBJETOS
CLASE OBJETOS
PERSONA
Luis
Ana
Juan
7/21/2019 Primera Clase Algoritmica II
7/17
DEFINICION DE UNA CLASE
CLASE EMPLEADO
!!a"#i$u"os
en"e#o nume#o%&a'ena(&a#a&"e#es nom$#e%
!! Me"o'os Miem$#o
salu'o)*%
#eal sala#io)*%
+
7/21/2019 Primera Clase Algoritmica II
8/17
LA IDEA DE CLASES Y OBJETOS
Con&ep"uali&emos a una &lase &omo unmo'elo o pa"#,n- pa#a sus o$je"os. Loso$je"os 'e/ini'os pa#a una &lase&ompa#"en el ma#&o /un'amen"al 'e la&lase.Una &lase es una a$s"#a&&i,n - mien"#as elo$je"o es una en"i'a' #eal.
Pa#a &omp#en'e# la na"u#ale0a 'e una&lase - se 'e$e#1n &onsi'e#a# 'os ni2eles'e 'e/ini&i,n :El a$s"#a&"o 3 el 'e ins"#umen"a&i,n.
7/21/2019 Primera Clase Algoritmica II
9/17
LA IDEA DE CLASES Y OBJETOS
Nivel abstracto: Una &lase se pue'e 'esi$i# &omo una in"e#/a0- po#4ue
su p#op,si"o p#in&ipal es 'esi$i# las ope#a&iones- o/un&iones- 4ue pue'en #eali0a# sus o$je"os.
La 2is"a a$s"#a&"a 'e una &lase &omo una in"e#/a0p#opo#&iona su 2is"a 'e sali'a mien"#as o&ul"a sues"#u&"u#a in"e#na 3 'e"alles 'e &ompo#"amien"o.
Nivel de instr!entaci"n:La ins"#umen"a&i,n 'e la &lase p#opo#&iona su 2is"ain"e#io#- mos"#an'o los see"os 'e la o#5ani0a&i,n 'esus 'a"os e ins"#umen"a&i,n 'e /un&i,n.La ins"#umen"a&i,n 'e una &lase &onsis"e en 'osse&&iones p#in&ipales Una se&&i,n pu$li&a
Una se&&i,n p#i2a'a.
7/21/2019 Primera Clase Algoritmica II
10/17
PRIVATE, PUBLIC, PROTECTED
Las pala$#as #ese#2a'as
#rivado $ #rivate %& #blico $ #blic %
Son op&ionales.
7/21/2019 Primera Clase Algoritmica II
11/17
PRIVADO (PRIVATE), PUBLICO (PUBLICO)
Cuan'o se 'e/ina una &lase- 6a5a
p#i2a'os "o'os los miem$#os a los
4ue no ne&esi"a a&&e'e#se 'es'e ele7"e#io#. Es"a p#a&"i&a /a&ili"a la
p#o5#ama&i,n mo'ula# al o&ul"a# los
'e"alles 'e la &lase.
7/21/2019 Primera Clase Algoritmica II
12/17
CREACIN DE OBJETOS:
Un o$je"o es a una &lase &omo una
2a#ia$le a un "ipo 'e 'a"o.
Po# eso- a 2e&es- el "e#mino 'e o$je"o
se u"ili0a in'is"in"amen"e &omo
ins"an&ia o mo'elo 'e una &lase 3
"am$i8n &omo una 2a#ia$le.
7/21/2019 Primera Clase Algoritmica II
13/17
CREACIN DE OBJETOS:
Clase #e&"an5ulo
p#i2a'os:
en"e#o l- 6%
pu$li&os: /ija#('imensiones)en"e#o 9- en"e#o 6*%
en"e#o a#ea)2oi'*%
+
#e&"an5ulo 2en"ana% !!o$je"o
7/21/2019 Primera Clase Algoritmica II
14/17
CREACIN DE OBJETOS:El si5uien"e p#o5#ama p#in&ipal 'e&la#a 'os o$je"os#e&"1n5ulo 3 llama a las /un&iones miem$#os 'e la &lase-
u"ili0an'o el ope#a'o# . .
principal()
& rectan"ulo rect' rect*
rect'fi+ar,dimensiones('- -)*
rectfi+ar,dimensiones('----)*
Escribir(.El area del primero es%/rect'area()) Escribir(.El area del se"undo es%/rectarea())
0
7/21/2019 Primera Clase Algoritmica II
15/17
Trabajo co Obj!"o#$
Cuan'o se llama a una /un&i,nmiem$#o- se en2;a un mensaje al
o$je"o.
El ope#a'o# ) . * se u"ili0a &on
o$je"os 'e la &lase.
7/21/2019 Primera Clase Algoritmica II
16/17
7/21/2019 Primera Clase Algoritmica II
17/17
CONSTRUCTORES
clase circlo ' #rivado: entero centro()* centro(&+ doble radio+
#blico:
,,constrctor
circlo $entero )* entero &* doble r %
' radio - r+ centro() - )+ centro(& - &+ .
,,otros !/todos
.