universidad

Páginas: 8 (1974 palabras) Publicado: 4 de abril de 2013
Programación orientada a objetos

¿Por qué los objetos?
Hasta ahora hemos estado "cuadriculando" todo para obtener algoritmos: tratábamos de
convertir cualquier cosa en una función que pudiéramos emplear en nuestros programas.
Cuando teníamos claros los pasos que había que dar, buscábamos las variables necesarias para
dar esos pasos.

Pero no todo lo que nos rodea es tan fácil decuadricular. Supongamos por ejemplo que
tenemos que introducir datos sobre una puerta en nuestro programa. .Nos limitamos a
programar los procedimientos AbrirPuerta y CerrarPuerta? Al menos, deberíamos ir a la zona
de declaración de variables, y allí guardaríamos otras datos como su tamaño, color, etc.
No está mal, pero es "antinatural": una puerta es un conjunto: no podemos separar su color de
sutamaño, o de la forma en que debemos abrirla o cerrarla. Sus características son tanto las
físicas (lo que hasta ahora llamábamos variables) como sus comportamientos en distintas
circunstancias (lo que para nosotros eran las funciones). Todo ello va unido, formando un
"objeto".
Por otra parte, si tenemos que explicar a alguien lo que es el portón de un garaje, y ese alguien
no lo ha vistonunca, pero conoce como es la puerta de su casa, le podemos decir "se parece a
una puerta de una casa, pero es más grande para que quepan los coches, está hecha de metal
en vez de madera...". Es decir, podemos describir unos objetos a partir de lo que conocemos de
otros.
Finalmente, conviene recordar que "abrir" no se refiere solo a una puerta. También podemos
hablar de abrir una ventana o unlibro, por ejemplo.
Con esto, hemos comentado casi sin saberlo las tres características más importantes de la
Programación Orientada a Objetos (OOP):

Encapsulación: No podemos separar los comportamientos de las características de un
objeto. Los comportamientos serán funciones, que en OOP llamaremos métodos. Las
características de un objeto serán variables, como las que hemos usado siempre(las
llamaremos atributos). La apariencia de un objeto en C#, como veremos un poco
más adelante, recordara a un registro o "struct".
Herencia: Unos objetos pueden heredar métodos y datos de otros. Esto hace más
fácil definir objetos nuevos a partir de otros que ya teníamos anteriormente (como
ocurría con el portón y la puerta) y facilitara la reescritura de los programas, pudiendo
aprovecharbuena parte de los anteriores... si están bien diseñados.
Polimorfismo: Un mismo nombre de un método puede hacer referencia a
comportamientos distintos (como abrir una puerta o un libro). Igual ocurre para los
datos: el peso de una puerta y el de un portón los podemos llamar de igual forma, pero
obviamente no valdrán lo mismo.

Otro concepto importante es el de "clase": Una clase es unconjunto de objetos que tienen
características comunes. Por ejemplo, tanto mi puerta como la de mi vecino son puertas, es
decir, ambas son objetos que pertenecen a la clase "puerta". De igual modo, tanto un Ford
Focus como un Honda Civic o un Toyota Corolla son objetos concretos que pertenecen a la
clase "coche".








Se puede ver que en C#, al contrario que en otros lenguajes, lasvariables que forman parte de
una clase (los "atributos") tienen un valor inicial predefinido: 0 para los números, una cadena
vacía para las cadenas de texto, o "False" para los datos booleanos.
Vemos también que se accede a los métodos y a los datos precediendo el nombre de cada uno
por el nombre de la variable y por un punto, como hacíamos con los registros (struct). Aun así,
en nuestro casono podemos hacer directamente "p.abierta = true", por dos motivos:
El atributo "abierta" no tiene delante la palabra "public"; por lo que no es público, sino
privado, y no será accesible desde otras clases (en nuestro caso, desde Ejemplo59).
Los puristas de la Programación Orientada a Objetos recomiendan que no se acceda
directamente a los atributos, sino que siempre se modifiquen...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Universidad
  • Universidad
  • Universidad
  • Universidad
  • LA UNIVERSA
  • Universidad
  • universo
  • universidad

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS