Вы находитесь на странице: 1из 4

Tarea #1, Unidad III

Programacin Orientada a Objetos Cabaas Albarrn Mara Ix-chel 12590388

Herencia La herencia permite que se pueden definir nuevas clases basadas en clases existentes, lo cual facilita re-utilizar cdigo previamente desarrollado. Si una clase deriva de otra (extends) hereda todas sus variables y mtodos. La clase derivada puede aadir nuevas variables y mtodos y/o redefinir las variables y mtodos heredados. En Java, a diferencia de otros lenguajes orientados a objetos, una clase slo puede derivar de una nica clase, con lo cual no es posible realizar herencia mltiple en base a clases. Sin embargo es posible simular la herencia mltiple en base a las interfaces.

Tipos de herencia

Herencia Simple: La herencia simple consiste en cuando una clase, hereda a una clase hijo, y a solo una le hereda sus atributos, es igual al concepto general de herencia, con la limitante de solo poder heredar de una clase padre a una clase hijo, y solo a una clase hijo

Herencia Mltiple: Hace referencia a la caracterstica de los lenguajes de programacin orientada a objetos en la que una clase puede heredar comportamientos y caractersticas de ms de una superclase.

Polimorfismo El polimorfismo tiene que ver con la relacin que se establece entre la llamada a un mtodo y el cdigo que efectivamente se asocia con dicha llamada. A esta relacin se llama vinculacin (binding).

Tarea #1, Unidad III


Programacin Orientada a Objetos Cabaas Albarrn Mara Ix-chel 12590388

El polimorfismo permite a los programadores separar las cosas que cambian de las que no cambian, y de esta manera hacer ms fcil la ampliacin, el mantenimiento y la reutilizacin de los programas. Puede hacerse con referencias de super-clases abstract, super-clases normales e interfaces. Por su mayor flexibilidad y por su independencia de la jerarqua de clases estndar, las interfaces permiten ampliar muchsimo las posibilidades del polimorfismo.

Clase base: Las clases base para implementar abstracciones son clases diseadas para ayudar a los desarrolladores a implementar clases abstractas e interfaces (abstracciones). Proporcionan algunos de los detalles de implementacin de una abstraccin y en algunos casos pueden utilizarse sin herencia. Clase derivada: En programacin orientada a objetos (POO) se denomina clase derivada, a aquella que aade atributos y/o mtodos a otra clase. Esta ltmima se denomina antecesora. En Java para declarar que una clase se deriva de otra se hace lo siguiente: public class ClaseDerivada extends ClaseAntecesora {

// aqui van los atributos y metodos de la clase derivada

Tarea #1, Unidad III


Programacin Orientada a Objetos Cabaas Albarrn Mara Ix-chel 12590388

Observamos que la clusula extends es la que indica que la clase llamada claseDerivada se deriva de la clase llamada claseAntecesora La clase derivada hereda (es decir, puede manejar), los atributos y mtodos de la clase antecesora, que tengan visibilidad public y protected, pero no los private. Clase abstracta: Una clase abstracta (abstract) es una clase de la que no se pueden crear objetos. Su utilidad es permitir que otras clases deriven de ella, proporcionndoles un marco o modelo que deben seguir y algunos mtodos de utilidad general. Las clases abstractas se declaran anteponindoles la palabra abstract, como por ejemplo: public abstract class Geometria { ... } // fichero Geometria.java public abstract class Geometria { // clase abstracta que no puede tener objetos public abstract double perimetro(); public abstract double area(); }

Clase genrica: Las clases genricas encapsulan operaciones que no son especficas de un tipo de datos concreto. El uso ms comn de las clases genricas se da con las colecciones, como listas vinculadas, tablas hash, pilas, colas, rboles, etc., en las que las operaciones tales como agregar y quitar elementos de la coleccin se realizan de forma similar independientemente del tipo de datos que se almacena.

Tarea #1, Unidad III


Programacin Orientada a Objetos Cabaas Albarrn Mara Ix-chel 12590388

Bibliografa: Programacion Orientada a Objetos, Brad J. Cox y Andrew J. Novobliski Aprenda Java como si estuviera en primero, Javier Garca de Jaln , Jos Ignacio Rodrguez Iigo Mingo , Aitor Imaz Alfonso Brazlez, Alberto Larzabal, Jess Calleja , Jon Garca

Object-oriented Type Systems, Jens Palsberg and Michael I. Schwartzbach

Вам также может понравиться