Upload
antonio-perez
View
587
Download
2
Embed Size (px)
Citation preview
Antonio Pineda Pérez.
Luis Alberto Rojas Ramos
Rolando Rodríguez Martínez
• Un constructor es un método que se ejecuta
automáticamente cuando se crea un objeto de una
• clase. El método constructor tiene el mismo nombre que
la clase, no se puede indicar un valor de
• retorno (al menos en los lenguajes orientados a objetos
que conozco), tampoco devuelve algo.
• Pero si puede tomar cualquier número de
argumentos, esto es mediante la sobrecarga de
• métodos (la vemos más adelante).
• Suponiendo que existe una definición de una clase llamada"Persona", entonces para declarar y
• crear un objeto de esta clase se escribe la siguiente sentencia
• Persona alguien = new Persona();
• En este caso "alguien" es una variable cuyo tipo es "Persona"y se crea el objeto mediante el
• operador "new" invocando el constructor de la clase, en estecaso el constructor por defecto.
• Supongamos que se ha implementado un constructor quepermite asignar el nombre de la
• persona, entonces la sentencia podría ser:
• Persona alguien = new Persona("Juan");
• Ahora el constructor recibe un parámetro, consecuentementeno es el constructor por defecto
• (que no hace falta implementar). Cuidado en C# si seimplementa algún constructor y luego se
• necesita el constructor por defecto también debeimplementarse.
• Esta posibilidad que brindan ciertos los lenguajes (en
general todos los lenguajes orientados a
• objetos), la de tener un método que puede recibir
distintos parámetros en cantidad y tipo, es lo
• que se denomina sobrecarga de métodos.
• Tienen origen en Simula 67, un lenguaje diseñado para
hacer simulaciones, creado por Ole-Johan Dahl y Kristen
Nygaard del Centro de Cómputo Noruego en Oslo. . En
este centro, se trabajaba en simulaciones de naves, la
idea surgió al agrupar los diversos tipos de naves en
diversas clases de objetos, siendo responsable cada
clase de objetos de definir sus propios datos y
comportamientos.
• Fueron refinados más tarde
en Smalltalk, desarrollado en Simula en Xerox
PARC (cuya primera versión fue escrita
sobre Basic).
• La programación orientada a objetos se fue
convirtiendo en el estilo de programación
dominante a mediados de los años ochenta, en
gran parte debido a la influencia de C++, una
extensión del lenguaje de programación C.
• El Eiffel de Bertrand Meyer fue un temprano y
moderadamente acertado lenguaje con esos
objetivos pero ahora ha sido esencialmente
remplazado por Java, en gran parte debido a la
aparición de Internet, y a la implementación de la
máquina virtual de Java en la mayoría
de navegadores.
• Las características de orientación a
objetos fueron agregadas a muchos
lenguajes existentes durante ese
tiempo, incluyendo Ada, BASIC, Lisp, Pa
scal, entre otros.
• Permite acortar la distancia entre el software que
estamos desarrollando y la realidad, debido a que en la
POO se busca representar los objetos como existen en
la realidad.
• Además, gracias a la posibilidad de heredar atributos y
métodos de clases padres, lograremos reutilizar código
fuente, por lo que los tiempos de desarrollo bajarán.
• La POO también incorpora el concepto de
encapsulamiento, lo cual nos permite
proteger las propiedades de un objeto.
• La POO busca abstraer los objetos del
contexto, de forma de que se puedan
diferenciar los distintos objetos que están
interactuando y luego representar a cada uno
de manera separada.