Foros del Web » Programación para mayores de 30 ;) » Programación General »

Conceptos de Programación orientada a objetos

Estas en el tema de Conceptos de Programación orientada a objetos en el foro de Programación General en Foros del Web. Quisiera tener más claro el concepto de programación orientada a objetos. Especialemte en definir las siguientes palabras que ello involucra como: - Clase - Herencia ...
  #1 (permalink)  
Antiguo 13/05/2004, 17:16
 
Fecha de Ingreso: marzo-2004
Mensajes: 20
Antigüedad: 20 años, 8 meses
Puntos: 0
Conceptos de Programación orientada a objetos

Quisiera tener más claro el concepto de programación orientada a objetos. Especialemte en definir las siguientes palabras que ello involucra como:

- Clase
- Herencia
- Polimirfismo

Gracias
  #2 (permalink)  
Antiguo 13/05/2004, 19:42
Avatar de heryfer  
Fecha de Ingreso: febrero-2002
Ubicación: Valencia, España
Mensajes: 164
Antigüedad: 22 años, 9 meses
Puntos: 0
Estimado Amigo,

Te recomendaria te que apolles en algun libro.

Si habla sobre estructuras de datos mejor, hay unos muy buenos de Luis Joyanes Aguilar.

PROGRAMACION ORIENTADA A OBJETOS

o

PROGRAMACION EN C METODOLOGIA ESTRUCTURA DE DATOS Y OBJETOS
  #3 (permalink)  
Antiguo 31/05/2004, 15:22
Avatar de SunDarK  
Fecha de Ingreso: diciembre-2003
Ubicación: Jerez de la Frontera
Mensajes: 1.193
Antigüedad: 20 años, 11 meses
Puntos: 8
Cita:
Clases

Una clase no es otra cosa que el conjunto de especificaciones o normas que definen cómo va a ser creado un objeto de un tipo determinado; algo parecido a un manual de instrucciones conteniendo las
indicaciones para crear el objeto.
Los términos objeto y clase son utilizados en OOP con gran profusión y en contextos muy similares, por lo que para intentar aclarar en lo posible ambos conceptos, diremos que una clase constituye la
representación abstracta de algo, mientras que un objeto constituye la representación concreta de lo que una clase define.
La clase determina el conjunto de puntos clave que ha de cumplir un objeto para ser considerado perteneciente a dicha clase o categoría, ya que no es obligatorio que dos objetos creados a partir de la misma clase sean exactamente iguales, basta con que cumplan las especificaciones clave de la clase.
Expongamos ahora las anteriores definiciones mediante un ejemplo preciso: un molde para crear figuras de cerámica y las figuras obtenidas a partir del molde. En este caso, el molde representaría la clase Figura, y cada una de las figuras creadas a partir del molde, sería un objeto Figura. Cada objeto
Figura tendrá una serie de propiedades comunes: tamaño y peso iguales; y otras propiedades particulares: un color distinto para cada figura.
Aunque objetos distintos de una misma clase pueden tener ciertas propiedades diferentes, deben tener el mismo comportamiento o métodos. Para explicar mejor esta circunstancia, tomemos el ejemplo de
la clase Coche; podemos crear dos coches con diferentes características (color, tamaño, potencia, etc.),pero cuando aplicamos sobre ellos los métodos Arrancar, Acelerar o Frenar, ambos se comportan o
responden de la misma manera.
Cita:
Herencia

Se trata de la característica más importante de la OOP, y establece que partiendo de una clase a la que denominamos clase base, padre o superclase, creamos una nueva clase denominada clase derivada,
hija, o subclase. En esta clase derivada dispondremos de todo el código de la clase base, más el nuevo código propio de la clase hija, que escribamos para extender sus funcionalidades.
A su vez podemos tomar una clase derivada, creando una nueva subclase a partir de ella, y así sucesivamente, componiendo lo que se denomina una jerarquía de clases, que explicaremos seguidamente.
Existen dos tipos de herencia: simple y múltiple. La herencia simple es aquella en la que creamos una clase derivada a partir de una sola clase base, mientras que la herencia múltiple nos permite crear una clase derivada a partir de varias clases base. El entorno de .NET Framework sólo permite utilizar herencia simple.
Como ejemplo real de herencia, podemos usar la clase Coche como clase base; en ella reconocemos una serie de propiedades como Motor, Ruedas, Volante, etc., y unos métodos como Arrancar, Acelerar, Frenar, etc. Como clase derivada creamos CocheDeportivo, en la cuál, además de todas las
características mencionadas para la clase Coche, encontramos propiedades y comportamiento específicos como ABS, Turbo, etc.
Un ejemplo basado en programación consistiría en disponer de la ya conocida clase Empleado. Esta clase se ocupa, como ya sabemos, de las operaciones de alta de empleados, pago de nóminas, etc.; pero en un momento dado, surge la necesidad de realizar pagos a empleados que no trabajan en la central de la empresa, ya que se trata de comerciales que pasan la mayor parte del tiempo desplazándose. Para realizar dichos pagos usaremos Internet, necesitando el número de tarjeta de crédito y la dirección email del empleado. Resolveremos esta situación creando la clase derivada CiberEmpleado, que hereda de la clase Empleado, en la que sólo tendríamos que añadir las nuevas propiedades y métodos para las transacciones electrónicas, puesto que las operaciones tradicionales ya
las tendríamos disponibles por el mero hecho de haber heredado de Empleado.
Cita:
Polimorfismo

El polimorfismo determina que el mismo nombre de método, realizará diferentes acciones según el objeto sobre el que sea aplicado. Al igual que sucedía en la encapsulación, el programador que haga uso del objeto, no necesita conocer los detalles de implementación de los métodos, se limita a
utilizarlos.
Pasando a un ejemplo real, tomamos dos objetos: Pelota y VasoCristal; si ejecutamos sobre ambos el método Tirar, el resultado en ambos casos será muy diferente; mientras que el objeto Pelota rebotará al
llegar al suelo, el objeto VasoCristal se romperá.
En un ejemplo aplicado a la programación, supongamos que disponemos de los objetos Ventana y Fichero; si ejecutamos sobre ambos el método Abrir, el resultado en Ventana será la visualización de una ventana en el monitor del usuario; mientras que en el objeto Fichero, se tomará un fichero en el
equipo del usuario y se dejará listo para realizar sobre él operaciones de lectura o escritura.
Bibliografia
PROGRAMACIÓN EN
VISUAL BASIC .NET
LUIS MIGUEL BLANCO
Desarrollo de software
Grupo Eidos

Última edición por SunDarK; 31/05/2004 a las 15:29
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:32.