MANUAL DE PRÁCTICAS POO
Nombre de la asignatura
: Programación Orientada a Objeto!
Carrera:
Ingenier"a en Sitema Com#$taciona%e
Clave de la asignatura:
SCD&'()(
(Créditos) SATCA1:
) & * + ,O-.ETI/O0S1 2ENERAL0ES1 DEL CURSO 0com#etencia e#ec"3ica a dearro%%ar en e%c$ro1
Diseñar e implementar objetos de programacin !ue permitan resolver situaciones reales " deingenier#a
APORTACI4N AL PER5IL DEL E2RESADO
$sta asignatura aporta al per%il del &ngeniero en Sistemas Computacionales la capacidad deanali'ar desarrollar implementar " administrar so%tare de aplicacin orientado a objetoscumpliendo con est*ndares de calidad con el %in de apo"ar la productividad " competitividad de lasorgani'aciones+
TEMARIOUnidad ' Introd$cción a% #aradigma de %a #rogramación orientado a objeto!
1+1 $lementos del modelo de objetos: clases objetos abstraccin modularidad encapsulamiento,erencia " polimor%ismo+1+- .enguaje de modelado uni%icado: diagrama de clases+
Unidad ) C%ae 6 objeto!
-+1 Declaracin de clases: atributos métodos encapsulamiento+-+- &nstanciacin de una clase+-+/ 0e%erencia al objeto actual+-+ 2étodos: declaracin mensajes paso de par*metros retorno de valores+-+3 Constructores " destructores: declaracin uso " aplicaciones+-+4 Sobrecarga de métodos+-+5 Sobrecarga de operadores: Concepto " utilidad operadores unarios " binarios+
Unidad * 7erencia!
/+1 De%inicin: clase base clase derivada+/+- Clasi%icacin: ,erencia simple ,erencia m6ltiple+/+/ 0eutili'acin de miembros ,eredados+/+ 0e%erencia al objeto de la clase base+/+3 Constructores " destructores en clases derivadas+/+4 0ede%inicin de métodos en clases derivadas+
Unidad 8 Po%imor3imo
+ +1 De%inicin++- Clases abstractas: de%inicin métodos abstractos implementacin de clases abstractasmodelado de clases abstractas++/ &nter%aces: de%inicin implementacin de inter%aces ,erencia de inter%aces+
.OS9 RI2O-ERTO 7ERNÁNDE AL-UR;UER;UE
1
MANUAL DE PRÁCTICAS POO
+ 7ariables polimr%icas (plantillas): de%inicin uso " aplicaciones++3 0eutili'acin de cdigo+
Unidad , E<ce#cione!
3+1 De%inicin+3+- Tipos de e8cepciones+3+/ 9ropagacin de e8cepciones+3+ estin de e8cepciones: manejo de e8cepciones lan'amiento de e8cepciones+3+3 Creacin " manejo de e8cepciones de%inidas por el usuario+
Unidad = 5%$jo 6 Arc>i?o
+4+1 De%inicin+4+- Clasi%icacin: Arc,ivos de te8to " binarios+4+/ ;peraciones b*sicas " tipos de acceso+4+ 2anejo de objetos persistentes+
5UENTES DE IN5ORMACI4N
1+ Ta"lor David+ ;bject ;rient in%ormations s"stems planning and implementations+ Canada: <ile"+ 1==-+-+ .arman Craig+ >2. " patrones introduccin al an*lisis " diseño orientado a objetos+ 2é8ico: 9retince ?all+ 1===+/+ <inblad Ann .+ $dards Samuel 0+ So%tare orientado a objetos+ >SA: Addison+ <esle"@ D#a' Santos+ 1==/++ co+ Bavier Ceballos+ Bava - Curso de 9rogramacin+ Al%aomega+3+ Agust#n rou%e+ Bava - 2anual de usuario " tutorial+ Al%aomega+4+ .aura .ema" 0ogers Caden,ead+ Aprendiendo BA7A - en -1 d#as+ 9rentice?all+5+ ?erbert Sc,ildt+ undamentos de 9rogramacin en Bava -+ 2cra?il++ B Deitel " Deitel+ Como programar en Bava+ 9rentice ?all+=+ Step,en 0+ Davis+ Aprenda Bava a+ 2cra?ill+1E+ Fris Bamsa 9, D+ GBava A,oraH+ 2cra?ill+11+ rancisco C,arte ;jeda+ 7isual CI +N$T+ ANAA 2>.T&2$D&A1-+ Fingsle"J?ug,es Fat,ieK Fingsle"J?ug,es Adrian+ CI -EE3+ ANAA2>.T&2$D&A1/+ Ceballos rancisco Bavier+$nciclopedia de 2icroso%t 7isual CI+ -L $dicin1+ $l lenguaje de programacin CI+co+ Bavier Ceballos Sierra+ $ditorial 0aJma+13+ Tom Arc,er+ A %ondo CI+ 2c0A<J?&..@&NT$0A2$0&CANA D$ $S9AMA S+A+>+
Unidad ' Introd$cción a% #aradigma de %a #rogramación orientado a objeto!'!'E%emento de% mode%o de objeto: c%ae@ objeto@ abtracción@ mod$%aridad@enca#$%amiento@ >erencia 6 #o%imor3imo!Objeto
$l termino
objeto
tiene el mismo signi%icado !ue un nombre o una %rase nominal+ $s una personaun lugar o una cosa+ $jemplos de objetos en el mundo real son: persona tabla computadoraavin vuelo de avin diccionario ciudad o la capa de o'ono+ .a ma"or#a de los objetos del mundoreal tienen
atrib$to
(caracter#sticas !ue los describen)+ 9or ejemplo los atributos de una personainclu"en el nombre la edad el se8o la %ec,a de nacimiento la direccin etc+ .os objetos tienenatributos " ellos a su ve' comportamiento+ $l
com#ortamiento
(e,avior) es el conjunto de cosas!ue puede ,acer un objeto por ejemplo una persona puede estudiar caminar trabajar etc+ $ns#ntesis se puede decir !ue los objetos conocen cosas " ,acen cosas+ .as cosas !ue un objetoconoce son sus atributosK las cosas !ue puede ,acer un objeto son su comportamiento+
.OS9 RI2O-ERTO 7ERNÁNDE AL-UR;UER;UE
2
MANUAL DE PRÁCTICAS POOC%ae
>na
c%ae
es una caracteri'acin abstracta de un conjunto de objetosK todos los objetos similarespertenecen a una clase determinada+ 9or ejemplo un conjunto de objetos tales como cuadradostri*ngulos c#rculos l#neas etc+ 9ertenecen a una clase %igura+ De modo m*s %ormal una clasede%ine variables (datos) " métodos (operaciones) comunes a un conjunto de objetos+ $n realidaduna clase es un prototipo o generador de un conjunto de objetos+9or ejemplo si diseñamos una clase c#rculo !ue convierte a un c#rculo en un tipo abstracto de datola clase no proporciona métodos (%unciones) tales como dibujar mover ampliar contraer borraretc+ Se pueden utili'ar estos métodos para manipular objetos c#rculo de todas las %ormasesperadas+ .os métodos son todo lo !ue se necesita conocer sobre la clase c#rculo+.a
c%ae
es el blo!ue de construccin %undamental de un lenguaje de programacin orientada aobjetos+ >na clase es un tipo abstracto de datos junto con un conjunto de trans%ormacionespermitidas de dic,o tipo abstracto de datos+ (>n tipo de dato es abstracto si las operaciones de altonivel adecuadas a los tipos de datos est*n aisladas de los detalles de la implementacin asociadoscon el tipo de datos)
Abtracción
.a abstraccin consiste en captar las caracter#sticas esenciales de un objeto as# como sucomportamiento+ 9or ejemplo los automviles OPué caracter#sticas podemos abstraer de losautomvilesQ ; lo !ue es lo mismo OPué caracter#sticas semejantes tienen todos los automvilesQTodos tendr*n una marca un modelo n6mero de c,asis peso llantas puertas ventanas etc+ encuanto a su comportamiento todos los automviles podr*n acelerar %renar retroceder etc+$n los lenguajes de programacin orientada a objetos el concepto de Clase es la representacin "el mecanismo por el cual se gestionan las abstracciones+9or ejemplo en Bava tenemos:public class Automovil R@@ variables@@ métodos
Mod$%aridad.OS9 RI2O-ERTO 7ERNÁNDE AL-UR;UER;UE
3
MANUAL DE PRÁCTICAS POO
.a
mod$%aridad
es la propiedad !ue permite dividir una aplicacin en partes m*s pe!ueñas(llamadas mdulos ) cada una de las cuales debe ser tan independiente como sea posible de laaplicacin en si " de las restantes partes+
Enca#$%amiento
$l encapsulamiento consiste en unir en la Clase las caracter#sticas " comportamientos esto es lasvariables " métodos+ $s tener todo esto es una sola entidad+ $n los lenguajes estructurados estoera imposible+ $s evidente !ue el encapsulamiento se logra gracias a la abstraccin+.a utilidad del encapsulamiento va por la %acilidad para manejar la complejidad "a !ue tendremosa las Clases como cajas negras donde slo se conoce el comportamiento pero no los detallesinternos " esto es conveniente por!ue nos interesar* conocer !ué ,ace la Clase pero no ser*necesario saber cmo lo ,ace+
7erencia
.a ,erencia es uno de los conceptos m*s cruciales en la 9;;+ .a ,erencia b*sicamente consisteen !ue una clase puede ,eredar sus variables " métodos a varias subclases (la clase !ue ,eredaes llamada superclase o clase padre)+ $sto signi%ica !ue una subclase aparte de los atributos "métodos propios tiene incorporados los atributos " métodos ,eredados de la superclase+ De estamanera se crea una jerar!u#a de ,erencia+9or ejemplo imaginemos !ue estamos ,aciendo el an*lisis de un Sistema para una tienda !uevende " repara e!uipos celulares+$n el gr*%ico vemos - Clases m*s !ue posiblemente necesitemos para crear nuestro Sistema+$sas - Clases nuevas se construir*n a partir de la Clase Celular e8istente+ De esa %orma utili'amosel comportamiento de la SuperClase+$n general podemos tener una gran jerar!u#a de Clases tal " como vemos en el siguiente gr*%ico:
.OS9 RI2O-ERTO 7ERNÁNDE AL-UR;UER;UE
4