CONCEPTOS BÁSICOS DE LA PROGRAMACIÓN ORIENTADA A OBJETOS

CONCEPTOS BÁSICOS DE LA PROGRAMACIÓN
ORIENTADA A OBJETOS



Antecedentes de la Programación Orientada a Objetos

La Programación Orientada a Objetos (POO) es una forma especial de programar, más cercana a como expresaríamos las cosas en la vida real, que otros tipos de programación.
Durante años, los programadores se han dedicado a construir aplicaciones muy parecidas que resolvían una y otra vez los mismos problemas. Para conseguir que los esfuerzos de los programadores puedan ser reutilizados por otras personas se creó la POO, la cual usa una serie de normas y estándares para cumplir este objetivo.

POO no es difícil, pero es una manera especial de pensar, a veces subjetiva de quien la programa, de manera que la forma de hacer las cosas puede ser diferente entre uno u otro programador, aunque podamos hacer los programas de formas distintas, no todas ellas son correctas, lo difícil no es programar orientado a objetos sino programar bien. Programar bien es importante, porque así podemos aprovechar de todas las ventajas de la POO.


Programación Estructurada Vs Programación Orientada a Objetos (POO): 

desarrollo de la POO empieza a destacar durante la década de los 80 tomando en cuenta la programación estructurada, a la que engloba y dota de nuevos elementos para el análisis y desarrollo de software.

La POO permite a los programadores desarrollar software, de forma que esté organizado en la misma manera como el problema que se trata de modelizar (analizar).  


La programación estructurada es una programación de diseño ARRIBA – ABAJO (Top-Down), donde las instrucciones del programa se van ejecutando una detrás de otra secuencialmente desde un inicio hasta un fin. En esta forma de diseño se descomponen los requerimientos del programa paso a paso (secuencialmente), hasta llegar a un nivel que permite expresarlos mediante procedimientos y funciones. (Ejemplo: un Diagrama de Flujo, Pseudocódigo)

En cambio, la POO estructura los datos en objetos que pueden almacenar, manipular y combinar información de modo analítico, lógico y funcional 

En la actualidad, la POO es el estándar de programación utilizado por la gran mayoría de programadores y las distintas herramientas de análisis y diseño de sistemas utilizado por los profesionales en informática. Por otro lado, los lenguajes de programación de la actualidad son orientados a objetos (entre los que podemos citar están: Java y Microsoft Visual Studio .Net)

Ventajas de la Programación Orientada a Objetos:


a) Uniformidad. Ya que la representación de los objetos que lleva, implica tanto el análisis como el diseño y la codificación de los mismos. Esto quiere decir que nos permite una mejor integración entre las diferentes etapas del desarrollo de un proyecto informático.

b) Flexibilidad. Al tener relacionados los procedimientos que manipulan los datos con los datos a tratar, cualquier cambio que se realice sobre ellos quedará reflejado automáticamente en cualquier lugar donde estos datos aparezcan.

c) Reusabilidad. De esta forma, el desarrollo de un programa puede llegar a ser una simple combinación de objetos ya definidos donde estos están relacionados de una manera particular.

Con la POO tenemos que aprender a pensar las cosas de una manera distinta, para escribir nuestros programas en términos de objetos, propiedades, métodos

2.  Conceptos Básicos de la Programación Orientada a Objetos: 

a) Clase 

La clase es una plantilla o patrón a partir de la cual se crean muchos otros objetos similares, también se podría definir a una clase como la agrupación de objetos que poseen características comunes.

Ejemplos:



  • Si usted tuviera que dibujar 30 mapas del Perú ¿Cómo los podría hacer de un modo muy rápido? Tendría que conseguir un molde o plantilla y a partir de éste podría crear los 30 mapas de un modo fácil y rápido. En este ejemplo el Molde o Patrón sería la Clase y cada uno de los mapas reproducidos vendrían ser los objetos instanciados.
  • ¿Qué clases puedes distinguir dentro de tu aula? En el aula existe la clase Alumnos, cada alumno vendría ser un objeto que se origina de esta clase. Otras clases podrían ser: carpetas, útiles, etc. 


Como podemos darnos cuenta, los conceptos de la POO están en la vida diaria, y son estos conceptos los que se aplican al momento de programar aplicaciones informáticas.


b) Propiedades de la clase 


Las propiedades o atributos son las características descriptivas de una clase. Cuando definimos una propiedad especificamos su nombre y su tipo de dato.

Ejemplos:

Propiedades de la clase alumnos

 Apellidos (Tipo de dato String)
Nombres (Tipo de dato String)
Edad  (Tipo de dato int)
Talla  (Tipo de dato double)

c) Métodos de la clase

Son las funcionalidades, acciones o habilidades de la clase. Los métodos son funciones que están asociadas a un objeto. Los métodos responden a la pregunta: ¿Qué es lo que es capaz de hacer la clase?
Los nombres de los métodos generalmente están asociados a una acción o verbos. Al final del nombre de los métodos siempre se utilizarán paréntesis dentro de los cuales muchas veces es necesario enviar algunos datos, para que puedan realizarse los procesos.

Ejemplos:  

La clase alumnos contiene los siguientes métodos:

estudiar() 
hablar() 
decirSuEdad() 

La clase plumones contiene los siguientes métodos:
pintar() 
escribir()

La clase calculadora contiene los siguientes métodos:

Sumar(4,5)  
Restar(3,2) 
Multiplicar(4,3) 
Multiplicar(4,2)

  Nota:


  • Algunos métodos reciben entre los paréntesis: datos, los cuales sirven al método para realizar su tarea. Estos datos son conocidos como argumentos del método.
  •  Algunos métodos retornan un dato como resultado de la acción, por ejemplo el método sumar (4,5) de la clase calculadora, luego de realizar su acción devolverá un dato de respuesta el cual es el resultado de la suma: 9. 

d) Objeto Instaciado 

Los objetos instanciados son ejemplares resultantes de una clase. Cuando creamos un ejemplar tenemos que especificar la clase a partir de la cual se creará. Esta acción de crear un objeto a partir de una clase se llama instanciar (que viene de una mala traducción de la palabra instance que en inglés significa ejemplar). Por ejemplo, un objeto instanciado de la clase fracción es por ejemplo 3/5. El concepto o definición de fracción sería la clase, pero cuando ya estamos hablando de una fracción en concreto 4/7, 8/1000 o cualquier otra, la llamamos objeto instanciado.

Todo objeto instanciado hereda automáticamente las propiedades y métodos de su clase base

e) Estado en un Objeto

Cuando tenemos un objeto sus propiedades toman valores. Por ejemplo, cuando tenemos una fracción, la propiedad numerador tomará un valor en concreto, como por ejemplo 1 y la propiedad denominador puede tomar el valor de 3. Estos valores que se llaman estados de un objeto

Para acceder a un estado de un objeto, para ver su valor o cambiarlo se utiliza el operador punto. Ejemplo:

f1.numerador = 2 

f1.denominador=5 

El objeto instanciado es f1, luego colocamos el operador punto y por último el nombre de la propiedad a la que deseamos acceder. En el ejemplo anterior, estamos cambiando el valor del estado de la propiedad numerador del objeto f1 a 2 con una simple asignación, y el valor de la propiedad denominador a 5.

EJEMPLOS PRÁCTICOS

A continuación, mostraremos algunos ejemplos de clases con sus respectivas propiedades y métodos.

Clase Reloj

Propiedades: marca, modelo, precio, tipo
Métodos: mostrarLaHora(), mostrarLaFecha(), fijarAlarma(), iniciarCronometro()

Clase Triángulo

Propiedades: color, tipo de borde, tipo de triángulo
Métodos: calcularArea(), calcularSemiPerímetro()

Clase BoletadeNota

Propiedades: n° de boleta, fecha de emision, apellidos, nombres
Métodos: calcularPromedioporAsignatura(), calcularPromedioPonderado()







Share:

Anuncio de Enlaces

Buscar este blog

  • ()
  • ()
Mostrar más
Todos los derechos reservados por AITRAQUER. Con la tecnología de Blogger.

Unordered List

  • Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
  • Aliquam tincidunt mauris eu risus.
  • Vestibulum auctor dapibus neque.

Pages

Theme Support

Need our help to upload or customize this blogger template? Contact me with details about the theme customization you need.