Your SlideShare is downloading. ×
0
Act10byme
Act10byme
Act10byme
Act10byme
Act10byme
Act10byme
Act10byme
Act10byme
Act10byme
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Act10byme

123

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
123
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 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
  • 9. 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

×