SlideShare una empresa de Scribd logo
1 de 9
ACTIVIDAD 10

HERENCIA
La herencia es, después de la agregación o composición, el mecanismo más utilizado para
alcanzar algunos de los objetivos más preciados en el desarrollo de software como lo son la
reutilización y la extensibilidad. A través de ella los diseñadores pueden crear nuevas clases
partiendo de una clase o de una jerarquía de clases preexistente (ya comprobadas y
verificadas) evitando con ello el rediseño, la modificación y verificación de la parte ya
implementada. La herencia facilita la creación de objetos a partir de otros ya existentes e
implica que una subclase obtiene todo el comportamiento (métodos) y eventualmente los
atributos (variables) de su superclase.
Es la relación entre una clase general y otra clase más específica. Por ejemplo: Si declaramos
una clase párrafo derivada de una clase texto, todos los métodos y variables asociadas con la
clase texto, son automáticamente heredados por la subclase párrafo.
La herencia es uno de los mecanismos de los lenguajes de programación orientada a objetos
basados en clases, por medio del cual una clase se deriva de otra de manera que extiende su
funcionalidad. La clase de la que se hereda se suele denominar clase base, clase padre,
superclase, clase ancestro (el vocabulario que se utiliza suele depender en gran medida del
lenguaje de programación).

JESSICA KARINA GARCÍA LÓPEZ

1
ACTIVIDAD 10

importjavax.swing.JOptionPane;
public class Mamifero{
privateintpatas;
private String nombre;
public void imprimirPatas(){
JOptionPane.showMessageDialog(null," Tiene " + patas + " patasn", "Mamifero", JOptionPane.INFORMATION_MESSAGE);
}
publicMamifero(String nombre, intpatas){
this.nombre = nombre;
this.patas = patas;
}
}
public class Perro extends Mamifero {
publicPerro(String nombre){
super(nombre, 4);
}
}
public class Gato extends Mamifero {
publicGato(String nombre){
super(nombre, 4);}
public class CrearPerro {
public static void main(String[] args) {
Perro perrito = new Perro("Pantaleon");
perrito.imprimirPatas(); /*Está en la clase mamífero*/
}
}

JESSICA KARINA GARCÍA LÓPEZ

2
ACTIVIDAD 10

POLIMORFISMO
En programación orientada a objetos el polimorfismo se refiere a la posibilidad de
enviar un mensaje a un grupo de objetos cuya naturaleza puede ser heterogénea.
El único requisito que deben cumplir los objetos que se utilizan de manera
polimórfica es saber responder al mensaje que se les envía.
La apariencia del código puede ser muy diferente dependiendo del lenguaje que se
utilice, más allá de las obvias diferencias sintácticas.
Por ejemplo, en un lenguaje de programación que cuenta con un sistema de tipos
dinámico (en los que las variables pueden contener datos de cualquier tipo u
objetos de cualquier clase) como Smalltalk no se requiere que los objetos que se
utilizan de modo polimórfico sean parte de una jerarquía de clases.
En lenguajes basados en clases y con un sistema de tipos de datos fuerte
(independientemente de si la verificación se realiza en tiempo de compilación o de
ejecución), es posible que el único modo de poder utilizar objetos de manera
polimórfica sea que compartan una raíz común, es decir, una jerarquía de clases,
ya que esto proporciona la compatibilidad de tipos de datos necesaria para que sea
JESSICA KARINA GARCÍA LÓPEZ

3
ACTIVIDAD 10

posible utilizar una misma variable de referencia (que podrá apuntar a objetos de
diversas subclases de dicha jerarquía) para enviar el mismo mensaje (o un grupo
de mensajes) al grupo de objetos que se tratan de manera polimórfica. No
obstante, algunos lenguajes de programación (Java, C++) permiten que dos objetos
de distintas jerarquías de clases respondan a los mismos mensajes, a través de las
denominadas interfaces (esta técnica se conoce como composición de objetos). Dos
objetos que implementen la misma interfaz podrán ser tratados de forma idéntica,
como un mismo tipo de objeto, el tipo definido por la interfaz. Así, todo un
conjunto de objetos podrán intercambiarse en tiempo de ejecución, siempre que
sean del mismo tipo, y además con dependencias mínimas entre ellos. Por estos
motivos se considera un buen principio de diseño en programación orientada a
objetos el favorecer la composición de objetos frente a la herencia de clases.

' Declaramos 2 clases: Sumar y Restar que implementan la interfaz y que llaman a
la clase Operacion:
JESSICA KARINA GARCÍA LÓPEZ

4
ACTIVIDAD 10

ClassSumar
ImplementsIOperar
PrivateFunctionOperar(valor1 asInteger, valor2
asInteger)asLongImplementsIOperar.Operar
Return valor1 + valor2
EndFunction
FunctionCalcular()asLong
opasNewoperacion
Returnop.Calcular(Me)' se está llamando a la función 'Calcular' de la clase
'Operación'
EndFunction
EndClass

ENCAPSULAMIENTO
JESSICA KARINA GARCÍA LÓPEZ

5
ACTIVIDAD 10

En Programación modular, y más específicamente en programación orientada a
objetos, se denomina encapsulamiento al ocultamiento del estado, es decir, de los
datos miembro de un objeto de manera que sólo se pueda cambiar mediante las
operaciones definidas para ese objeto.
Cada objeto está aislado del exterior, es un módulo natural, y la aplicación entera
se reduce a un agregado o rompecabezas de objetos. El aislamiento protege a los
datos asociados de un objeto contra su modificación por quien no tenga derecho a
acceder a ellos, eliminando efectos secundarios e interacciones.
De esta forma el usuario de la clase puede obviar la implementación de los
métodos y propiedades para concentrarse sólo en cómo usarlos. Por otro lado se
evita que el usuario pueda cambiar su estado de maneras imprevistas e
incontroladas. Como se puede observar de los diagramas, las variables del objeto
se localizan en el centro o núcleo del objeto. Los métodos rodean y esconden el
núcleo del objeto de otros objetos en el programa. 'Al empaquetamiento de las

variables de un objeto con la protección de sus métodos se le llama
encapsulamiento. Típicamente, el encapsulamiento es utilizado para esconder
detalles de la puesta en práctica no importantes de otros objetos. Entonces, los

JESSICA KARINA GARCÍA LÓPEZ

6
ACTIVIDAD 10

detalles de la puesta en práctica pueden cambiar en cualquier tiempo sin afectar
otras partes del programa.
1. Estándar (Predeterminado)
2. Abierto: Hace que el miembro de la clase pueda ser accedido desde el
exterior de la Clase y cualquier parte del programa.
3. Protegido: Solo es accesible desde la Clase y las clases que heredan (a
cualquier nivel).
4. Semi cerrado: Solo es accesible desde la clase heredada
5. Cerrado: Solo es accesible desde la Clase.

En el encapsulamiento hay analizadores que pueden ser semánticos y sintácticos.

CONCLUCION;
JESSICA KARINA GARCÍA LÓPEZ

7
ACTIVIDAD 10

La HERENCIA es específica de la programación orientada a objetos, donde una clase nueva se crea a partir
de una clase existente. La herencia (a la que habitualmente se denomina subclases) proviene del hecho de que
la subclase (la nueva clase creada) contiene las atributos y métodos de la clase primaria. La principal ventaja
de la herencia es la capacidad para definir atributos y métodos nuevos para la subclase, que luego se aplican
a
los
atributos
y
métodos
heredados.
Esta particularidad permite crear una estructura jerárquica de clases cada vez más especializada. La gran
ventaja es que uno ya no debe comenzar desde cero cuando desea especializar una clase existente. Como
resultado, se pueden adquirir bibliotecas de clases que ofrecen una base que puede especializarse a voluntad
(la compañía que vende estas clases tiende a proteger las datos miembro usando la encapsulación).
La ENCAPSULACIÓN es un mecanismo que consiste en organizar datos y métodos de una estructura,
conciliando el modo en que el objeto se implementa, es decir, evitando el acceso a datos por cualquier otro
medio distinto a los especificados. Por lo tanto, la encapsulación garantiza la integridad de los datos que
contiene un objeto.
La palabra POLIMORFISMOproviene del griego y significa que posee varias formas diferentes. Este es uno de los
conceptos esenciales de una programación orientada a objetos. Así como la herencia está relacionada con las clases y su
jerarquía, el polimorfismo se relaciona con los métodos.

BIBLIOGRAFÍA
JESSICA KARINA GARCÍA LÓPEZ

8
ACTIVIDAD 10

http://es.kioskea.net/contents/411-poo-herencia

http://es.wikipedia.org/wiki/Herencia_%28inform%C3%A1tica%29

http://es.wikipedia.org/wiki/Polimorfismo_%28inform%C3%A1tica%29

http://es.wikipedia.org/wiki/Encapsulamiento_%28inform%C3%A1tica%29

JESSICA KARINA GARCÍA LÓPEZ

9

Más contenido relacionado

La actualidad más candente

Conceptos de POO (Programacion Orientada a Objetos)
Conceptos de POO (Programacion Orientada a Objetos)Conceptos de POO (Programacion Orientada a Objetos)
Conceptos de POO (Programacion Orientada a Objetos)Josue Lara Reyes
 
1. introduccion a la programación orientada a objeto (poo)
1.  introduccion a la programación orientada a objeto (poo)1.  introduccion a la programación orientada a objeto (poo)
1. introduccion a la programación orientada a objeto (poo)Roberto Rojas
 
Trabajo de diceño y realizacion
Trabajo de diceño y realizacionTrabajo de diceño y realizacion
Trabajo de diceño y realizacionLolyPila
 
programacion orientada a objetos
programacion orientada a objetosprogramacion orientada a objetos
programacion orientada a objetosjent46
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetoslindacajaperuiz
 
Introduccionjava
IntroduccionjavaIntroduccionjava
IntroduccionjavaOLGA MONTES
 
Programacion Orientada A Objetos
Programacion Orientada A ObjetosProgramacion Orientada A Objetos
Programacion Orientada A Objetosguest160f88
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a ObjetosUVMVirtual
 
CUESTIONARIO SOBRE PROGRAMACIÓN RELACIONADA A OBJETOS
CUESTIONARIO SOBRE PROGRAMACIÓN RELACIONADA A OBJETOSCUESTIONARIO SOBRE PROGRAMACIÓN RELACIONADA A OBJETOS
CUESTIONARIO SOBRE PROGRAMACIÓN RELACIONADA A OBJETOSLuis Miguel Gutierrez
 
C3 las clases en java v2
C3 las clases en java v2C3 las clases en java v2
C3 las clases en java v2Mariano Galvez
 

La actualidad más candente (20)

PROGRAMACIÓN ORIENTADA A OBJETOS
PROGRAMACIÓN ORIENTADA A OBJETOSPROGRAMACIÓN ORIENTADA A OBJETOS
PROGRAMACIÓN ORIENTADA A OBJETOS
 
Conceptos de POO (Programacion Orientada a Objetos)
Conceptos de POO (Programacion Orientada a Objetos)Conceptos de POO (Programacion Orientada a Objetos)
Conceptos de POO (Programacion Orientada a Objetos)
 
Conceptos basicos POO
Conceptos basicos POOConceptos basicos POO
Conceptos basicos POO
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
 
1. introduccion a la programación orientada a objeto (poo)
1.  introduccion a la programación orientada a objeto (poo)1.  introduccion a la programación orientada a objeto (poo)
1. introduccion a la programación orientada a objeto (poo)
 
Conceptos poo (presentación1)
Conceptos poo (presentación1)Conceptos poo (presentación1)
Conceptos poo (presentación1)
 
Trabajo de diceño y realizacion
Trabajo de diceño y realizacionTrabajo de diceño y realizacion
Trabajo de diceño y realizacion
 
FPJUCE - Capitulo2
FPJUCE - Capitulo2FPJUCE - Capitulo2
FPJUCE - Capitulo2
 
programacion orientada a objetos
programacion orientada a objetosprogramacion orientada a objetos
programacion orientada a objetos
 
Herencia poo
Herencia pooHerencia poo
Herencia poo
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
 
Introduccionjava
IntroduccionjavaIntroduccionjava
Introduccionjava
 
Programacion Orientada A Objetos
Programacion Orientada A ObjetosProgramacion Orientada A Objetos
Programacion Orientada A Objetos
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
 
Clases en java
Clases en javaClases en java
Clases en java
 
Qué es la poo
Qué es la pooQué es la poo
Qué es la poo
 
Programacion Orientada a Objetos
Programacion Orientada a ObjetosProgramacion Orientada a Objetos
Programacion Orientada a Objetos
 
CUESTIONARIO SOBRE PROGRAMACIÓN RELACIONADA A OBJETOS
CUESTIONARIO SOBRE PROGRAMACIÓN RELACIONADA A OBJETOSCUESTIONARIO SOBRE PROGRAMACIÓN RELACIONADA A OBJETOS
CUESTIONARIO SOBRE PROGRAMACIÓN RELACIONADA A OBJETOS
 
C3 las clases en java v2
C3 las clases en java v2C3 las clases en java v2
C3 las clases en java v2
 
POO
POOPOO
POO
 

Destacado

MESA NACIONAL DE NEGOCIAÇÃO PERMANENTE DOS CORREIOS
MESA NACIONAL DE NEGOCIAÇÃO PERMANENTE  DOS CORREIOSMESA NACIONAL DE NEGOCIAÇÃO PERMANENTE  DOS CORREIOS
MESA NACIONAL DE NEGOCIAÇÃO PERMANENTE DOS CORREIOSJose Carlos
 
Formato sena ingles 2013 (1)
Formato sena ingles 2013 (1)Formato sena ingles 2013 (1)
Formato sena ingles 2013 (1)Santiagotheguitar
 
Evolving landscape of american politics with technology
Evolving landscape of american politics with technologyEvolving landscape of american politics with technology
Evolving landscape of american politics with technologyMaurice Dawson
 
Pronunciation u.9.chin vs gin.
Pronunciation u.9.chin vs gin.Pronunciation u.9.chin vs gin.
Pronunciation u.9.chin vs gin.garcia58
 
21st century dangers r
21st century dangers r21st century dangers r
21st century dangers rlitsameadows
 

Destacado (6)

MESA NACIONAL DE NEGOCIAÇÃO PERMANENTE DOS CORREIOS
MESA NACIONAL DE NEGOCIAÇÃO PERMANENTE  DOS CORREIOSMESA NACIONAL DE NEGOCIAÇÃO PERMANENTE  DOS CORREIOS
MESA NACIONAL DE NEGOCIAÇÃO PERMANENTE DOS CORREIOS
 
Formato sena ingles 2013 (1)
Formato sena ingles 2013 (1)Formato sena ingles 2013 (1)
Formato sena ingles 2013 (1)
 
Evolving landscape of american politics with technology
Evolving landscape of american politics with technologyEvolving landscape of american politics with technology
Evolving landscape of american politics with technology
 
Pronunciation u.9.chin vs gin.
Pronunciation u.9.chin vs gin.Pronunciation u.9.chin vs gin.
Pronunciation u.9.chin vs gin.
 
Internet of things
Internet of thingsInternet of things
Internet of things
 
21st century dangers r
21st century dangers r21st century dangers r
21st century dangers r
 

Similar a Act10byme

Definiciones taller 8 agost
Definiciones taller 8 agostDefiniciones taller 8 agost
Definiciones taller 8 agostoosorioj
 
[ES] Programación orientada a objeto con java
[ES] Programación orientada a objeto con java[ES] Programación orientada a objeto con java
[ES] Programación orientada a objeto con javaEudris Cabrera
 
Programación estructurada
Programación estructuradaProgramación estructurada
Programación estructuradavnslgars
 
Programaciom avanzada orientada a objetos
Programaciom avanzada orientada a objetosProgramaciom avanzada orientada a objetos
Programaciom avanzada orientada a objetosJonathan Macías
 
Programacion orientada a objetos
Programacion orientada a objetos Programacion orientada a objetos
Programacion orientada a objetos Jorge Luis B
 
Programación orientada a objetos
Programación orientada a objetos Programación orientada a objetos
Programación orientada a objetos Jorge Luis B
 
Trabajo investigativo sobre la programación orientada a objetos y java
Trabajo investigativo sobre la programación orientada a objetos y javaTrabajo investigativo sobre la programación orientada a objetos y java
Trabajo investigativo sobre la programación orientada a objetos y javaJulio César Rojas Maza
 
fundamentos-de-poo.ppt 2.ppt
fundamentos-de-poo.ppt 2.pptfundamentos-de-poo.ppt 2.ppt
fundamentos-de-poo.ppt 2.pptjuan gonzalez
 
Conceptos poo progra visual
Conceptos poo progra visualConceptos poo progra visual
Conceptos poo progra visualLibertad25
 
Historia java ruben rodriguez
Historia java ruben rodriguezHistoria java ruben rodriguez
Historia java ruben rodriguezcoruniversitec
 
Grupo 6 - clases
Grupo 6  - clasesGrupo 6  - clases
Grupo 6 - claseszeta2015
 
_Herencia_Polimorfismo_Polimorfismo.pptx
_Herencia_Polimorfismo_Polimorfismo.pptx_Herencia_Polimorfismo_Polimorfismo.pptx
_Herencia_Polimorfismo_Polimorfismo.pptxFabianAndresNuezPinz
 

Similar a Act10byme (20)

Definiciones taller 8 agost
Definiciones taller 8 agostDefiniciones taller 8 agost
Definiciones taller 8 agost
 
[ES] Programación orientada a objeto con java
[ES] Programación orientada a objeto con java[ES] Programación orientada a objeto con java
[ES] Programación orientada a objeto con java
 
Programación estructurada
Programación estructuradaProgramación estructurada
Programación estructurada
 
Programaciom avanzada orientada a objetos
Programaciom avanzada orientada a objetosProgramaciom avanzada orientada a objetos
Programaciom avanzada orientada a objetos
 
Programacion orientada a objetos
Programacion orientada a objetos Programacion orientada a objetos
Programacion orientada a objetos
 
Programación orientada a objetos
Programación orientada a objetos Programación orientada a objetos
Programación orientada a objetos
 
Conceptos poo
Conceptos pooConceptos poo
Conceptos poo
 
Poo
PooPoo
Poo
 
Trabajo investigativo sobre la programación orientada a objetos y java
Trabajo investigativo sobre la programación orientada a objetos y javaTrabajo investigativo sobre la programación orientada a objetos y java
Trabajo investigativo sobre la programación orientada a objetos y java
 
Cspr
CsprCspr
Cspr
 
Cspr
CsprCspr
Cspr
 
Herencia informatica
Herencia informaticaHerencia informatica
Herencia informatica
 
fundamentos-de-poo.ppt 2.ppt
fundamentos-de-poo.ppt 2.pptfundamentos-de-poo.ppt 2.ppt
fundamentos-de-poo.ppt 2.ppt
 
Conceptos poo progra visual
Conceptos poo progra visualConceptos poo progra visual
Conceptos poo progra visual
 
Programacion orientada a_objetos
Programacion orientada a_objetosProgramacion orientada a_objetos
Programacion orientada a_objetos
 
Encapsulamiento
EncapsulamientoEncapsulamiento
Encapsulamiento
 
Historia java ruben
Historia java rubenHistoria java ruben
Historia java ruben
 
Historia java ruben rodriguez
Historia java ruben rodriguezHistoria java ruben rodriguez
Historia java ruben rodriguez
 
Grupo 6 - clases
Grupo 6  - clasesGrupo 6  - clases
Grupo 6 - clases
 
_Herencia_Polimorfismo_Polimorfismo.pptx
_Herencia_Polimorfismo_Polimorfismo.pptx_Herencia_Polimorfismo_Polimorfismo.pptx
_Herencia_Polimorfismo_Polimorfismo.pptx
 

Más de karinaaura (20)

Act49
Act49Act49
Act49
 
Act45
Act45Act45
Act45
 
Act37
Act37Act37
Act37
 
Act30 35
Act30 35Act30 35
Act30 35
 
Act26
Act26Act26
Act26
 
Act23
Act23Act23
Act23
 
Act20
Act20Act20
Act20
 
Act19
Act19Act19
Act19
 
Act18
Act18Act18
Act18
 
Act17
Act17Act17
Act17
 
Act16
Act16Act16
Act16
 
Act15
Act15Act15
Act15
 
Act19
Act19Act19
Act19
 
Act18
Act18Act18
Act18
 
Act.45
Act.45Act.45
Act.45
 
Act 49
Act 49Act 49
Act 49
 
Act 43
Act 43Act 43
Act 43
 
Act 17
Act 17Act 17
Act 17
 
Tarea 13
Tarea 13Tarea 13
Tarea 13
 
Actividad11 poliformismo
Actividad11 poliformismoActividad11 poliformismo
Actividad11 poliformismo
 

Act10byme

  • 1. ACTIVIDAD 10 HERENCIA La herencia es, después de la agregación o composición, el mecanismo más utilizado para alcanzar algunos de los objetivos más preciados en el desarrollo de software como lo son la reutilización y la extensibilidad. A través de ella los diseñadores pueden crear nuevas clases partiendo de una clase o de una jerarquía de clases preexistente (ya comprobadas y verificadas) evitando con ello el rediseño, la modificación y verificación de la parte ya implementada. La herencia facilita la creación de objetos a partir de otros ya existentes e implica que una subclase obtiene todo el comportamiento (métodos) y eventualmente los atributos (variables) de su superclase. Es la relación entre una clase general y otra clase más específica. Por ejemplo: Si declaramos una clase párrafo derivada de una clase texto, todos los métodos y variables asociadas con la clase texto, son automáticamente heredados por la subclase párrafo. La herencia es uno de los mecanismos de los lenguajes de programación orientada a objetos basados en clases, por medio del cual una clase se deriva de otra de manera que extiende su funcionalidad. La clase de la que se hereda se suele denominar clase base, clase padre, superclase, clase ancestro (el vocabulario que se utiliza suele depender en gran medida del lenguaje de programación). JESSICA KARINA GARCÍA LÓPEZ 1
  • 2. ACTIVIDAD 10 importjavax.swing.JOptionPane; public class Mamifero{ privateintpatas; private String nombre; public void imprimirPatas(){ JOptionPane.showMessageDialog(null," Tiene " + patas + " patasn", "Mamifero", JOptionPane.INFORMATION_MESSAGE); } publicMamifero(String nombre, intpatas){ this.nombre = nombre; this.patas = patas; } } public class Perro extends Mamifero { publicPerro(String nombre){ super(nombre, 4); } } public class Gato extends Mamifero { publicGato(String nombre){ super(nombre, 4);} public class CrearPerro { public static void main(String[] args) { Perro perrito = new Perro("Pantaleon"); perrito.imprimirPatas(); /*Está en la clase mamífero*/ } } JESSICA KARINA GARCÍA LÓPEZ 2
  • 3. ACTIVIDAD 10 POLIMORFISMO En programación orientada a objetos el polimorfismo se refiere a la posibilidad de enviar un mensaje a un grupo de objetos cuya naturaleza puede ser heterogénea. El único requisito que deben cumplir los objetos que se utilizan de manera polimórfica es saber responder al mensaje que se les envía. La apariencia del código puede ser muy diferente dependiendo del lenguaje que se utilice, más allá de las obvias diferencias sintácticas. Por ejemplo, en un lenguaje de programación que cuenta con un sistema de tipos dinámico (en los que las variables pueden contener datos de cualquier tipo u objetos de cualquier clase) como Smalltalk no se requiere que los objetos que se utilizan de modo polimórfico sean parte de una jerarquía de clases. En lenguajes basados en clases y con un sistema de tipos de datos fuerte (independientemente de si la verificación se realiza en tiempo de compilación o de ejecución), es posible que el único modo de poder utilizar objetos de manera polimórfica sea que compartan una raíz común, es decir, una jerarquía de clases, ya que esto proporciona la compatibilidad de tipos de datos necesaria para que sea JESSICA KARINA GARCÍA LÓPEZ 3
  • 4. ACTIVIDAD 10 posible utilizar una misma variable de referencia (que podrá apuntar a objetos de diversas subclases de dicha jerarquía) para enviar el mismo mensaje (o un grupo de mensajes) al grupo de objetos que se tratan de manera polimórfica. No obstante, algunos lenguajes de programación (Java, C++) permiten que dos objetos de distintas jerarquías de clases respondan a los mismos mensajes, a través de las denominadas interfaces (esta técnica se conoce como composición de objetos). Dos objetos que implementen la misma interfaz podrán ser tratados de forma idéntica, como un mismo tipo de objeto, el tipo definido por la interfaz. Así, todo un conjunto de objetos podrán intercambiarse en tiempo de ejecución, siempre que sean del mismo tipo, y además con dependencias mínimas entre ellos. Por estos motivos se considera un buen principio de diseño en programación orientada a objetos el favorecer la composición de objetos frente a la herencia de clases. ' Declaramos 2 clases: Sumar y Restar que implementan la interfaz y que llaman a la clase Operacion: JESSICA KARINA GARCÍA LÓPEZ 4
  • 5. ACTIVIDAD 10 ClassSumar ImplementsIOperar PrivateFunctionOperar(valor1 asInteger, valor2 asInteger)asLongImplementsIOperar.Operar Return valor1 + valor2 EndFunction FunctionCalcular()asLong opasNewoperacion Returnop.Calcular(Me)' se está llamando a la función 'Calcular' de la clase 'Operación' EndFunction EndClass ENCAPSULAMIENTO JESSICA KARINA GARCÍA LÓPEZ 5
  • 6. ACTIVIDAD 10 En Programación modular, y más específicamente en programación orientada a objetos, se denomina encapsulamiento al ocultamiento del estado, es decir, de los datos miembro de un objeto de manera que sólo se pueda cambiar mediante las operaciones definidas para ese objeto. Cada objeto está aislado del exterior, es un módulo natural, y la aplicación entera se reduce a un agregado o rompecabezas de objetos. El aislamiento protege a los datos asociados de un objeto contra su modificación por quien no tenga derecho a acceder a ellos, eliminando efectos secundarios e interacciones. De esta forma el usuario de la clase puede obviar la implementación de los métodos y propiedades para concentrarse sólo en cómo usarlos. Por otro lado se evita que el usuario pueda cambiar su estado de maneras imprevistas e incontroladas. Como se puede observar de los diagramas, las variables del objeto se localizan en el centro o núcleo del objeto. Los métodos rodean y esconden el núcleo del objeto de otros objetos en el programa. 'Al empaquetamiento de las variables de un objeto con la protección de sus métodos se le llama encapsulamiento. Típicamente, el encapsulamiento es utilizado para esconder detalles de la puesta en práctica no importantes de otros objetos. Entonces, los JESSICA KARINA GARCÍA LÓPEZ 6
  • 7. ACTIVIDAD 10 detalles de la puesta en práctica pueden cambiar en cualquier tiempo sin afectar otras partes del programa. 1. Estándar (Predeterminado) 2. Abierto: Hace que el miembro de la clase pueda ser accedido desde el exterior de la Clase y cualquier parte del programa. 3. Protegido: Solo es accesible desde la Clase y las clases que heredan (a cualquier nivel). 4. Semi cerrado: Solo es accesible desde la clase heredada 5. Cerrado: Solo es accesible desde la Clase. En el encapsulamiento hay analizadores que pueden ser semánticos y sintácticos. CONCLUCION; JESSICA KARINA GARCÍA LÓPEZ 7
  • 8. ACTIVIDAD 10 La HERENCIA es específica de la programación orientada a objetos, donde una clase nueva se crea a partir de una clase existente. La herencia (a la que habitualmente se denomina subclases) proviene del hecho de que la subclase (la nueva clase creada) contiene las atributos y métodos de la clase primaria. La principal ventaja de la herencia es la capacidad para definir atributos y métodos nuevos para la subclase, que luego se aplican a los atributos y métodos heredados. Esta particularidad permite crear una estructura jerárquica de clases cada vez más especializada. La gran ventaja es que uno ya no debe comenzar desde cero cuando desea especializar una clase existente. Como resultado, se pueden adquirir bibliotecas de clases que ofrecen una base que puede especializarse a voluntad (la compañía que vende estas clases tiende a proteger las datos miembro usando la encapsulación). La ENCAPSULACIÓN es un mecanismo que consiste en organizar datos y métodos de una estructura, conciliando el modo en que el objeto se implementa, es decir, evitando el acceso a datos por cualquier otro medio distinto a los especificados. Por lo tanto, la encapsulación garantiza la integridad de los datos que contiene un objeto. La palabra POLIMORFISMOproviene del griego y significa que posee varias formas diferentes. Este es uno de los conceptos esenciales de una programación orientada a objetos. Así como la herencia está relacionada con las clases y su jerarquía, el polimorfismo se relaciona con los métodos. BIBLIOGRAFÍA JESSICA KARINA GARCÍA LÓPEZ 8