Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
En orientacin a objetos la herencia es, despus de la agregacin o composicin, el mecanismo ms utilizado para alcanzar algunos de los objetivos ms preciados en el desarrollo de software como lo son la reutilizacin y la extensibilidad. A travs de ella los diseadores pueden crear nuevas clases partiendo de una clase o de una jerarqua de clases preexistente (ya comprobadas y verificadas) evitando con ello el rediseo, la modificacin y verificacin de la parte ya implementada. La herencia facilita la creacin de objetos a partir de otros ya existentes e implica que una subclase obtiene todo el comportamiento (mtodos) y eventualmente los atributos (variables) de su superclase.
Es la relacin entre una clase general y otra clase ms especfica. Por ejemplo: Si declaramos una clase prrafo derivada de una clase texto, todos los mtodos y variables asociadas con la clase texto, son automticamente heredados por la subclase prrafo.
La herencia es uno de los mecanismos de los lenguajes de programacin 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 programacin).
public class Perro extends Mamifero { public Perro(String nombre){ super(nombre, 4); } } public class Gato extends Mamifero { public Gato(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 mamfero*/ } }
public class Herencia { public static void main (String args[]) { Humano a = new Humano("Emilio","Rosso"); Ciudadano b = new Ciudadano("Emilio","Rosso","3052454545"); Humano [] arregloDeHumanos; arregloDeHumanos.push(a); arregloDeHumanos.push(b); identificarPolimorfico(arregloDeHumanos); } public static void identificarPolimorfico(Humano [] arregloDeHumanos) { for(int i = 0; i < arregloDeHumanos.length ; i++) { System.out.println("Identificando: " + arregloDeHumanos[i].identificacion()); } } }
Conclusin:
Mi conclusin a cerca de este tema es que es algo que sirve mucho a los programadores para el diseo, ya que pueden crear nuevas clases partiendo de otras clases o jerarquas ya existentes.
BIBLIOGRAFIAS:
http://es.wikipedia.org/wiki/Herencia_%28inform%C3%A1tica%29 http://ingenieropaulo.blogspot.com/2013/03/ejemplo-de-herencia-en-programacion.html http://codigomaldito.blogspot.com/2011/06/ejemplo-de-herencia-en-java.html https://www.google.com/search?q=IMAGENES+DE+HERENCIA+EN+PROGRAMACION&cli ent=firefox-a&hs=hZM&rls=org.mozilla:enUS:official&channel=fflb&tbm=isch&tbo=u&source=univ&sa=X&ei=HiFpUouKsTHiwKkv4DIDA&ved=0CCkQsAQ&biw=1366&bih=634&dpr=1#imgdii=_
POLIMORFISMO
En programacin orientada a objetos el polimorfismo se refiere a la posibilidad de enviar un mensaje a un grupo de objetos cuya naturaleza puede ser heterognea. El nico requisito que deben cumplir los objetos que se utilizan de manera polimrfica es saber responder al mensaje que se les enva. o La apariencia del cdigo puede ser muy diferente dependiendo del lenguaje que se utilice, ms all de las obvias diferencias sintcticas. o Por ejemplo, en un lenguaje de programacin que cuenta con un sistema de tipos dinmico (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 polimrfico sean parte de una jerarqua de clases.
<source lang=vbnet> ' Declaramos una interfaz llamada IOperar y declaramos una funcin llamada Operar ' que implementarn las clases deseadas: Interface IOperar Function Operar(valor1 as integer, valor2 as integer) as long End Interface ' Declaramos una clase que trabaja ms alejada del usuario y que contendra funciones comunes ' para las siguiente clase, si no fueran idnticas iran en la interfaz, ' pero al caso de mostrar el polimorfismo se suponen idnticas: Class Operacion Function Calcular(clasellamante as Object) as Long ' aqu ira el cdigo comn a todas las operaciones.... que llaman a esa funcin ' por ejemplo recoger los 2 valores de la operacin, chequear que estn en el rango deseado, etc. ' se supone que la funcin inputValor recoge un valor de algn sitio valor1 as integer = inputValor() valor2 as integer = inputValor() op as New IOperar = clasellamante Return op.Operar(valor1,valor2) 'AQU es donde se utiliza el polimorfismo. End Function End Class ' Declaramos 2 clases: Sumar y Restar que implementan la interfaz y que llaman a la clase Operacion: Class Sumar Implements IOperar Private Function Operar(valor1 as Integer, valor2 as Integer) as Long Implements IOperar.Operar Return valor1 + valor2 End Function Function Calcular() as Long op as New operacion Return op.Calcular(Me) ' se est llamando a la funcin 'Calcular' de la clase 'Operacin' End Function End Class ' segunda clase.... Class Restar Implements IOperar Private Function Operar(valor1 as Integer, valor2 as Integer) as Long Implements IOperar.Operar Return valor1 - valor2 End Function Function Calcular() as Long op as New operacion Return op.Calcular(Me) ' se est llamando a la funcin 'Calcular' de la clase 'Operacin'
CONCLUSION:
El polimorfismo es aqul en el que el cdigo no incluye ningn tipo de especificacin sobre el tipo de datos sobre el que se trabaja. As, puede ser utilizado a todo tipo de datos compatible. Tambin es aqul en el que los tipos a los que se aplica el polimorfismo deben ser explcitos y declarados uno por uno antes de poder ser utilizados
BIBLIOGRAFIAS: http://es.wikipedia.org/wiki/Polimorfismo_%28inform%C3%A1tica%29
ENCAPSULAMIENTO
En Programacin modular, y ms especficamente en programacin orientada a objetos, se denomina encapsulamiento al ocultamiento del estado, es decir, de los datos miembro de un objeto de manera que slo se pueda cambiar mediante las operaciones definidas para ese objeto.
o Cada objeto est aislado del exterior, es un mdulo natural, y la aplicacin entera se reduce a un agregado o rompecabezas de objetos. El aislamiento protege a los datos asociados de un objeto contra su modificacin por quien no tenga derecho a acceder a ellos, eliminando efectos secundarios e interacciones. o De esta forma el usuario de la clase puede obviar la implementacin de los mtodos y propiedades para concentrarse slo en cmo 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 ncleo del objeto. Los mtodos rodean y esconden el ncleo del objeto de otros objetos en el programa. 'Al empaquetamiento de las variables de un objeto con la proteccin de sus mtodos se le llama encapsulamiento. Tpicamente, el encapsulamiento es utilizado para esconder detalles de la puesta en prctica no importantes de otros objetos. Entonces, los detalles de la puesta en prctica pueden cambiar en cualquier tiempo sin afectar otras partes del programa.
CONCLUSION:
Es cuando las variables del objeto se encuentran como en ncleo y los mtodos rodean el ncleo.
BILBIOGRAFIAS:
http://es.wikipedia.org/wiki/Encapsulamiento_(inform%C3%A1tica)