Anda di halaman 1dari 3

Ocultamiento de informacin y acceso al conocimiento de objetos

Lafilosofadelanlisis,diseoylaprogramacinorientadaaobjetos(POO)define mecanismosparaqueunobjetoseaautnomo,capazdetomardecisionesquepuedan afectarloyrestringiradems,elaccesoquepuedantenerotrosobjetosasuinformacin, pormediodelocultamientoyladefinicindemtodosdeaccesoasuconocimiento.

Ocultamiento
Elocultamientodeinformacinsebasaenlaposibilidadquetienenlosobjetos,de restringirelaccesoasuconocimiento,porpartedeotrosobjetos,odeotraforma,definir culessonloscriteriosylosmecanismosparagarantizardichoaccesoaquienesaslo requieran. Sedefinentresnivelesdevisibilidad,quepuedendefinirseparaelconocimientoyel comportamientodeunobjeto.Lainformacindeunobjetopuedeser: Pblica:Cualquierobjetopuedeteneraccesoaunmtodoounatributo directamente,sinningunarestriccin.EnJava,unmtodoounatributopblicose representaanteponiendoasudefinicinlapalabrareservadapublic. Protegida:Cualquierobjetodealgunasubclase,odeunaclasedelmismopaquete puedeteneraccesoalainformacin.EnJava,unmtodoounatributoprotegidose representaanteponiendoasudefinicinlapalabrareservadaprotected. Privada:Soloobjetosdelamismaclasepuedenteneraccesoalainformacin.EnJava, unmtodoounatributoprivadoserepresentaanteponiendoasudefinicinla palabrareservadaprivate.

Estasdefinicionespermitenqueunaclasedefinalaformaenquequierequelosobjetos modeladosaccedanasuinformacin.Usualmente,loquesedefineesquetodoel conocimientodeunobjetoseaprivado.Estotienesentido,dadoquelainformacindeun objetosolodeberaimportarlealmismoobjeto. Porejemplo,sihablamosdelaclase public class Estudiante { private float quiz1; Estudiante,quedefinecomopartedesu private float quiz2; conocimientosusnotasparciales,esta private float examenParcial1; informacinsololeconciernealyporlo private float examenParcial2; tantodeberaserprivada. }

Ahora,silaclaseEstudiantesehadiseadoconelobjetivodecalcularunconjuntode notasparciales,esnecesariodefinirestrategiasparaaccederasuinformacin,siasse requiere.

Accesoalconocimientodeunaclase
Siluegodelprocesodediseo,esnecesarioaccederalainformacindefinidaenlaclase estudiante,relacionadaconsusnotasparciales,esposiblehacerlodefiniendomtodos queretornenestainformacinyas,formalizarunmecanismoparaqueestosuceda.En estecaso,laclasesemodificara,paraincluirmtodosquepermitanaccederalos atributosexamenParcial1yexamenParcial2:
public float getExamenParcial1() { return examenParcial1; } public float getExamenParcial2() { return examenParcial2; }

En Java, los mtodos que permiten acceder a los atributos de una clase, se llaman getters y comienzanporelverbogeteningles,quesignificaobtener.

Modificacindelconocimientodeunaclase
Ahora,sinonosinteresarevelarnuestrasnotasparciales,tampocodeberainteresarnos quealguiensinautorizacinlasmodificara.Sinembargo,siesnecesario,deacuerdoal procesodediseo,esposiblehacerloatravsdeladefinicindemtodos.Siserequiere porejemplo,modificarlainformacindecadaunadelascuatronotas,esnecesariodefinir unmtodoparacadauna:
public void setExamenParcial1(float examenParcial1) { this.examenParcial1 = examenParcial1; } public void setExamenParcial2(float examenParcial2) { this.examenParcial2 = examenParcial2; } public void setQuiz1(float quiz1) { this.quiz1 = quiz1; }

public void setQuiz2(float quiz2) { this.quiz2 = quiz2; } EnJava,losmtodosquepermitenmodificarlosatributosdeunaclase,sellamansettersy comienzanporelverboseteningles,quesignificamodificar.

Heredandoconocimiento
Elconocimientonotienequesersiempreprivado;encasosenlosqueseestablecen relacionesdeherenciaentreclasesdeobjetos,elconocimientoquesepretendeheredar, debeserporlomenos,protegido,paragarantizarquelassubclasestenganaccesoaesta informacin.

Representacindenivelesdeaccesoendiagramasdeclases
Esposiblerepresentarelniveldeaccesoquedefineunatributoounmtodoenun diagramadeclases,anteponiendoasudefinicinun+paradefinirqueespblico,un paradefinirqueesprivado,y#paradefinirqueesprotegido.

Laclaseestudiante,quetienetodosuconocimientoprivado,serepresentaraas.Laclase automvilencambio,cuentaconuncolor,devisibilidadpblica,queusaparapintarsey unnmerodepuertasqueesprivado;ademsdefinedosmtodos,unoparapintarse, queespblicoyunoparacalcularelvalorapagarporunimpuesto,queesprivadoyse usaracomoapoyoparaalgunaoperacininternadelobjeto.

Anda mungkin juga menyukai