Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Visual Basic, ¿Orientado a Objetos?

Estas en el tema de Visual Basic, ¿Orientado a Objetos? en el foro de Visual Basic clásico en Foros del Web. Tenemos un pekeño dilema entre mi colega programador y yo. Lo ke pasa es ke el argumenta que Visual Basic 6 NO es un lenguage ...

  #1 (permalink)  
Antiguo 01/03/2006, 20:42
Avatar de Fann_Lavigne  
Fecha de Ingreso: diciembre-2004
Mensajes: 622
Antigüedad: 19 años, 4 meses
Puntos: 12
Visual Basic, ¿Orientado a Objetos?

Tenemos un pekeño dilema entre mi colega programador y yo. Lo ke pasa es ke el argumenta que Visual Basic 6 NO es un lenguage de Programacion Orientado a Objetos. En cambio yo, argumento que si lo es.

Nos gustaria saber ke es lo ke piensan acerca de este dilema y que nos ayuden a resolverlo, con bases que se puedan comprobar.

P.O.O = Programacion Orientada a Objetos.

¿Consideras que VB6 es un lenguaje de P.O.O? ¿Por que?
¿Consideras que VB6 NO es un lenguaje de P.O.O? ¿Por que?

Gracias y espero nos ayuden.
__________________
"Entre Mas Brillante Es Una Mente, Tiene Que Luchar Contra Demonios Internos Mas Poderosos"
[email protected]
  #2 (permalink)  
Antiguo 01/03/2006, 23:09
Avatar de jc_moty  
Fecha de Ingreso: septiembre-2005
Ubicación: Usulután, El Salvador
Mensajes: 477
Antigüedad: 18 años, 6 meses
Puntos: 1
Visual Basic 6 es una implementación limitada de la Programación Orientada a Objetos (los propios formularios y controles son objetos), que, sin embargo, no admiten ni polimorfismo ni herencia.
Fuente: Wikipedia

En fin, es por esto, que VB6 no es Orientado a Objetos, porque no posee ni herencia ni poliformismo, que son caracteristicas fundamentales para que un lenguaje de programacion sea considerado como orientado a objetos.

Saludos
  #3 (permalink)  
Antiguo 02/03/2006, 04:57
Avatar de lucasiramos  
Fecha de Ingreso: agosto-2004
Ubicación: Santa Rosa, La Pampa, Argentina
Mensajes: 1.484
Antigüedad: 19 años, 8 meses
Puntos: 13
Aportando un poquito a la correcta explicación de jc_moty, agrego que Visual Basic no es un lenguaje de programación orientado a objetos, sino orientado a eventos.

Saludos. Lucas
  #4 (permalink)  
Antiguo 02/03/2006, 05:29
Avatar de dogduck  
Fecha de Ingreso: enero-2006
Ubicación: ¿Atlantida, Hesperides, Islas afortunadas?
Mensajes: 2.231
Antigüedad: 18 años, 3 meses
Puntos: 19
POO puro lo implementa Microsoft en VB .Net , C# , J# ,...
  #5 (permalink)  
Antiguo 02/03/2006, 06:38
 
Fecha de Ingreso: julio-2005
Mensajes: 46
Antigüedad: 18 años, 9 meses
Puntos: 0
VB 6.0 es un lenguaje basado en objetos, puesto que los compomentes, controles...etc que utiliza lo usa como objetos, pero no tiene implementada las características basicas (herencia y polimorfismo )de la orientación a objetos para crear tus propias clases, en todo caso, en VB se puede "simular estas dos caracteristicas" pero eso no hace que sea un lenguaje realmente orientado a objetos...aunque en forma particular pienso que la orientación a Objetos, mas que ser un lenguaje que lo hace, es una filosofia de programación y que se puede a simular en VB 6.0
  #6 (permalink)  
Antiguo 02/03/2006, 08:05
Avatar de TolaWare
Colaborador
 
Fecha de Ingreso: julio-2005
Mensajes: 4.352
Antigüedad: 18 años, 9 meses
Puntos: 24
Como dijeron los otros foreros, solo implementa una parte de este paradigma. Que realmente pienso que no le alcanza.
Citando la definicion de Smuller en su libro "Orientacion a objetos":
Cita:
El concepto de objetos se basa en 5 palabras clave:
mensajes, clases, objetos, herencia y polimorfismo
VB6 no soporta ni herencia ni polimorfismo, por lo que no encaja en esta definicion. Los lenguajes que respetan este paradigma casi en tu totalidad, son los archiconocidos Java y C++. Digo "casi", porque los 2 tiene sus detalles.
__________________
http://blog.tolaware.com.ar -> Blog de Java, Ruby y Linux
  #7 (permalink)  
Antiguo 02/03/2006, 08:12
Avatar de reel  
Fecha de Ingreso: febrero-2004
Ubicación: Managua, Nicaragua
Mensajes: 496
Antigüedad: 20 años, 2 meses
Puntos: 1
Para que un lenguaje sea considerado Orientado a Objetos de cumplir con el paradigma, con todas sus características, ya que Visual Basic no lo hace, por lo tanto No es un lenguaje de POO.

Y coincido con lucasirasmo, ya que la misma documentación de visual basic dice que es un lenguaje programación orientado a eventos.

Saludes.
__________________
Leer es Saber, REEL.
Mi Blog
  #8 (permalink)  
Antiguo 02/03/2006, 09:35
Avatar de Developer9
(Desactivado)
 
Fecha de Ingreso: abril-2005
Ubicación: Mi Ecuador del alma
Mensajes: 4.196
Antigüedad: 19 años
Puntos: 47
Ya está todo dicho. Visual Basic 6 no es un lenguaje de programación orientado a objetos, sino mas bien a eventos.

Definir la orientación a objetos es simple: Abstracción, Encapsulación, Herencia y Polimorfismo. VB6 se queda cortito en esas definiciones.

Aunque Java no soporta Herencia multiple. C++ es chevere, sobre todo la sobrecarga de operadores
  #9 (permalink)  
Antiguo 02/03/2006, 10:04
Avatar de lucasiramos  
Fecha de Ingreso: agosto-2004
Ubicación: Santa Rosa, La Pampa, Argentina
Mensajes: 1.484
Antigüedad: 19 años, 8 meses
Puntos: 13
Tambien Visual FoxPro 2.6 es orientado a objetos
  #10 (permalink)  
Antiguo 02/03/2006, 13:47
Avatar de Hager  
Fecha de Ingreso: mayo-2005
Ubicación: Bogota, Colombia
Mensajes: 106
Antigüedad: 18 años, 11 meses
Puntos: 2
No, Vb no es orientado a objetos, es un lenguaje orientado a eventos, ya que el modelo de programación OO es un modelo donde se encapsulan datos por medio de las clases y la memoria dinamica de visual es bastante mal obrada por lo general genera errores ya que el usa una dirección fija de memoria para cada una de las variables declaradas, la confución se presenta cuando en vb creamos los famosos types, pero eso se asimila como un arreglo compuesto mas no como una clase como tal........
En resume Vb no es orientado a objetos.

Estoy deacuerdo en parte con developer 9 pero difiero en el concepto que tiene de java, ya que la herencia en java es un tanto lineal pero si se maneja y la herencia multiple se representa de otra forma diferente a C, pero en fin , java si maneja herencia multiple
__________________
:cool: Nadie enseña a nadie...
todos aprendemos de todos....!!!
  #11 (permalink)  
Antiguo 02/03/2006, 16:48
Avatar de Fann_Lavigne  
Fecha de Ingreso: diciembre-2004
Mensajes: 622
Antigüedad: 19 años, 4 meses
Puntos: 12
El problema radica en esto: Recopilado de la MSDN Visual Studio 6.

Cita:

Cómo proporciona Visual Basic el polimorfismo



La mayoría de los sistemas de programación orientada a objetos proporcionan polimorfismo mediante la herencia. Es decir, las hipotéticas clases Pulga y Tiranosaurio pueden heredar características de una clase Animal. Cada clase invalidaría el método Morder de la clase Animal para aportar sus propias características de mordedura.

El polimorfismo proviene del hecho de que puede llamar al método Morder de un objeto que pertenezca a cualquier clase derivada de Animal sin conocer la clase a la que pertenece el objeto.

Proporcionar polimorfismo mediante interfaces

Visual Basic no utiliza la herencia para proporcionar polimorfismo. Visual Basic proporciona el polimorfismo mediante múltiples interfaces ActiveX. En el Modelo de objetos componentes (COM) que forma la infraestructura de la especificación ActiveX, las múltiples interfaces permiten que los sistemas de componentes software evolucionen sin afectar al código existente.

Una interfaz es un conjunto de propiedades y métodos relacionados. Gran parte de la especificación ActiveX se ocupa de la implementación de interfaces estándar para obtener servicios del sistema o para proporcionar funcionalidad a otros programas.

En Visual Basic podría crear una interfaz Animal e implementarla en las clases Pulga y Tiranosaurio. Después podría invocar el método Morder de cualquiera de los dos tipos de objeto sin conocer su tipo.

Polimorfismo y rendimiento

El polimorfismo es importante por razones de rendimiento. Para comprobarlo, observe la función siguiente:

Public Sub GetFood(ByVal Critter As Object, _ByVal Food As Object) Dim dblDistance As Double ' Código para calcular la distancia a la comida '(omitido). Critter.Mover dblDistance ' Enlace en tiempo de ' compilación Critter.Morder Food ' Enlace en tiempo de ' compilaciónEnd SubLos métodos Mover y Morder son enlaces en tiempo de compilación con Critter. El enlace en tiempo de compilación tiene lugar cuando Visual Basic no puede determinar en tiempo de compilación el tipo de objeto que contendrá una variable. En este ejemplo, el argumento Critter está declarado como As Object, de forma que en tiempo de ejecución pueda contener una referencia a cualquier tipo de objeto, como un Coche o una Roca.

Como no puede saber cuál será el objeto, Visual Basic compila una parte de código adicional para preguntar al objeto si acepta el método llamado. Si el objeto acepta el método, dicho código adicional lo invoca; si no, el código adicional desencadena un error. Todas las llamadas a métodos o a propiedades incurren en esta carga adicional.

Por el contrario, las interfaces permiten los enlaces en tiempo de diseño. Cuando Visual Basic conoce en tiempo de compilación la interfaz que se va a llamar, puede comprobar en la biblioteca de tipos si dicha interfaz acepta el método. Después, Visual Basic puede compilar un salto directo al método mediante una tabla virtual de funciones (vtable). Esto es muchas veces más rápido que el enlace en tiempo de compilación.

Ahora suponga que los métodos Mover y Morder pertenecen a la interfaz Animal y que todas las clases de animales implementan esta interfaz. Ahora podría declarar el argumento Critter como As Animal y los métodos Mover y Morder se enlazarán en tiempo de diseño:

Public Sub GetFood(ByVal Critter As Animal, _ByVal Food As Object) Dim dblDistance As Double ' Código para calcular la distancia a la comida '(omitido). Critter.Mover dblDistance ' Enlace en tiempo de ' diseño. Critter.Morder Food ' Enlace en tiempo de ' diseño.End Sub
__________________
"Entre Mas Brillante Es Una Mente, Tiene Que Luchar Contra Demonios Internos Mas Poderosos"
[email protected]
  #12 (permalink)  
Antiguo 02/03/2006, 18:39
Avatar de reel  
Fecha de Ingreso: febrero-2004
Ubicación: Managua, Nicaragua
Mensajes: 496
Antigüedad: 20 años, 2 meses
Puntos: 1
Me parece que el artículo que publicó Fann_Lavigne se nota una mala utilización del concepto de polimorfismo. Y sobre todo proque el mismo microsoft publicó las siguientes definiciónes.

Cita:
Herencia

El propósito principal de la herencia es el de organizar mejor las clases que componen una determinada realidad, y poder agruparlas en función de atributos y comportamientos comunes a la vez que cada una se especializa según sus particularidades.
Cabe aclarar además que hay dos tipos de herencias:
  • Herencia Simple: una clase derivada puede heredar sólo de una clase base (los lenguajes .NET soportan este tipo de herencia)
  • Herencia Múltiple: una clase derivada puede heredar de una o más clases base (C++ es un ejemplo de lenguaje que soporta este tipo de herencia).

Herencia “Es-Un”: herencia real, donde la subclase es un tipo específico de la superclase
  • Un Cuadrado es un Rectángulo
  • Un perro es un mamífero
  • Un automóvil es un vehículo a motor

Interfaz
  • Recurso de diseño soportado por los lenguajes orientados a objetos que permite definir comportamiento
  • Permite que clases que no están estrechamente relacionadas entre sí deban tener el mismo comportamiento
  • La implementación de una interfaz es un contrato que obliga a la clase a implementar todos los métodos definidos en la interfaz

Polimorfismo
  • Es la propiedad que tienen los objetos de permitir invocar genéricamente un comportamiento (método) cuya implementación será delegada al objeto correspondiente recién en tiempo de ejecución
  • El polimorfismo tiende a existir en las relaciones de herencia, pero no siempre es así

Aquí tenemos un ejemplo práctico de la implementación de polimorfismo en un diseño orientado a objetos. Por un lado tenemos la clase base “Transporte”, que posee los métodos “Avanzar” y “Frenar”. Por otro lado tenemos tres clases distintas derivadas de la clase “Transporte”, cada una de las cuales podrá sobrescribir la implementación de los métodos Avanzar y Frenar para que su comportamiento sea más específico.

Ahora bien, como todas heredan de la misma clase base, las clases derivadas pueden ser tratadas genéricamente. Esto quiere decir que podríamos tener un array que almacene objetos de tipo Transporte, y recorrerlo luego para llamar al método “Avanzar” de cada uno. De esta forma, en tiempo de codificación es imposible saber a qué método “Avanzar” se está llamando en realidad (al del Auto? Al del caballo? Al del transbordador?), sino que esta decisión es tomada en tiempo de ejecución en base al tipo particular de objeto que esté instanciado.

En pseudocódigo, esto se escribiría de la siguiente manera:

Definir arrayTransportes (3) de tipo Transporte
arrayTransportes(1) = nuevo Automóvil() //Un automóvil ES UN TIPO DE transporte
arrayTransportes(2) = nuevo Transbordador() //Un Transbordador ES UN TIPO DE transporte
arrayTransportes(3) = nuevo Caballo() //Un Caballo ES UN TIPO DE transporte

Por Cada (Transporte t en arrayTransportes)
t.Avanzar()
t.Frenar()
Fin
La cita anterior lo he tomado de la siguiente sitio de microsoft:

http://www.mslatam.com/latam/msdn/comunidad/dce2005/

Saludes
__________________
Leer es Saber, REEL.
Mi Blog
  #13 (permalink)  
Antiguo 03/03/2006, 08:01
 
Fecha de Ingreso: abril-2005
Mensajes: 3.083
Antigüedad: 19 años
Puntos: 17
Cita:
Iniciado por dogduck
POO puro lo implementa Microsoft en VB .Net , C# , J# ,...

C++ es el lenguaje por excelencia "orientado a objetos" en la rama de Microsoft.
  #14 (permalink)  
Antiguo 03/03/2006, 08:03
 
Fecha de Ingreso: abril-2005
Mensajes: 3.083
Antigüedad: 19 años
Puntos: 17
Cita:
Iniciado por Descartes
VB 6.0 es un lenguaje basado en objetos, puesto que los compomentes, controles...etc que utiliza lo usa como objetos, pero no tiene implementada las características basicas (herencia y polimorfismo )de la orientación a objetos para crear tus propias clases, en todo caso, en VB se puede "simular estas dos caracteristicas" pero eso no hace que sea un lenguaje realmente orientado a objetos...aunque en forma particular pienso que la orientación a Objetos, mas que ser un lenguaje que lo hace, es una filosofia de programación y que se puede a simular en VB 6.0
Simular no es tener ;)

Además, la POO no sólo es herencia y polimorfismo. Como bien dices, eso es lo más básico de un lenguaje que soporte POO.
  #15 (permalink)  
Antiguo 03/03/2006, 08:04
 
Fecha de Ingreso: abril-2005
Mensajes: 3.083
Antigüedad: 19 años
Puntos: 17
Cita:
Iniciado por TolaWare
Como dijeron los otros foreros, solo implementa una parte de este paradigma. Que realmente pienso que no le alcanza.
Citando la definicion de Smuller en su libro "Orientacion a objetos":
VB6 no soporta ni herencia ni polimorfismo, por lo que no encaja en esta definicion. Los lenguajes que respetan este paradigma casi en tu totalidad, son los archiconocidos Java y C++. Digo "casi", porque los 2 tiene sus detalles.
C++ soporta todas las características POO útiles y casi todas de las más avanzadas o menos conocidas, así como la POO en programación genérica. Java tiene algunas menos y no soporta programación genérica.

Otros lenguajes soportan alguna cosa más, pero es poco usado.
  #16 (permalink)  
Antiguo 03/03/2006, 08:08
 
Fecha de Ingreso: abril-2005
Mensajes: 3.083
Antigüedad: 19 años
Puntos: 17
Cita:
Iniciado por Developer9
Ya está todo dicho. Visual Basic 6 no es un lenguaje de programación orientado a objetos, sino mas bien a eventos.

Definir la orientación a objetos es simple: Abstracción, Encapsulación, Herencia y Polimorfismo. VB6 se queda cortito en esas definiciones.

Aunque Java no soporta Herencia multiple. C++ es chevere, sobre todo la sobrecarga de operadores
Ciertamente, pero la POO es bastante más que esas cuatro palabras. Es decir, en "herencia" entran mil apartados más, polimorfismo tiene relación con la herencia... Pero también hay que hablar de: Operadores (como bien dices C++ soporta una muy buena gestión y amplitud de operadores), Amistad, Downcasting, ...
  #17 (permalink)  
Antiguo 03/03/2006, 08:16
 
Fecha de Ingreso: abril-2005
Mensajes: 3.083
Antigüedad: 19 años
Puntos: 17
Cita:
Iniciado por Fann_Lavigne
El problema radica en esto: Recopilado de la MSDN Visual Studio 6.

(...)

(...)
Realmente VB6 no es orientado a objetos, ni siquiera una parte. Es decir, el lenguaje como tal no permite orientación a objetos, simplemente es un lenguaje estructurado como C.

Lo de "orientado a eventos" es algo subjetivo. Se puede programar en Visual Basic aplicaciones sin eventos, así como en C++ (que no es "orientado a eventos") también puede haber eventos. Por lo tanto, la "orientación a eventos" no es un paradigma de programación en VB6 como tal, sino la tendencia a ser usado o no dentro del lenguaje. Ciertamente VB6 es usado con eventos la mayoría de las veces.

Por otra parte, hay lenguajes que tienen varios paradigmas (ni blanco ni negro, sino que puede ser varias cosas). C++ admite programación estructurada (la clásica), la POO y la programación genérica (usada en la estructurada y la POO).
  #18 (permalink)  
Antiguo 03/03/2006, 10:59
Avatar de Developer9
(Desactivado)
 
Fecha de Ingreso: abril-2005
Ubicación: Mi Ecuador del alma
Mensajes: 4.196
Antigüedad: 19 años
Puntos: 47
Cita:
Iniciado por Fann_Lavigne
El problema radica en esto: Recopilado de la MSDN Visual Studio 6.

...
Uhhh... visual studio 6 está tantito desactualizada que hasta pereza da leer tanta letra
  #19 (permalink)  
Antiguo 03/03/2006, 15:35
Avatar de GeoAvila
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Antigua Guatemala
Mensajes: 4.032
Antigüedad: 20 años, 4 meses
Puntos: 53
esto se pone alegre.. pensaría mejor pasar a vb.net jeje como ya lo estoy practicando.. jejej

nos vemos..
__________________
* Antes de preguntar lee las FAQ, y por favor no hagas preguntas en las FAQ
Sitio http://www.geoavila.com twitter: @GeoAvila
  #20 (permalink)  
Antiguo 03/03/2006, 17:54
 
Fecha de Ingreso: abril-2005
Mensajes: 3.083
Antigüedad: 19 años
Puntos: 17
Cita:
Iniciado por GeoAvila
esto se pone alegre.. pensaría mejor pasar a vb.net jeje como ya lo estoy practicando.. jejej

nos vemos..
La verdad, VB.Net sigo sin encontrarle el sentido. C# es el estándar y lenguaje nativo en .Net. Además, sigue la sintaxis "estándar" de la rama C++, con lo que se adecúa a lo más usado hoy en día, así como es una de las mejores sintaxis (si no la mejor) existente y poderosa.
  #21 (permalink)  
Antiguo 03/03/2006, 18:59
Avatar de GeoAvila
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Antigua Guatemala
Mensajes: 4.032
Antigüedad: 20 años, 4 meses
Puntos: 53
Cita:
Iniciado por MaxExtreme
La verdad, VB.Net sigo sin encontrarle el sentido. C# es el estándar y lenguaje nativo en .Net. Además, sigue la sintaxis "estándar" de la rama C++, con lo que se adecúa a lo más usado hoy en día, así como es una de las mejores sintaxis (si no la mejor) existente y poderosa.
la verdad pienso que es únicamente para crear una codigo amable para el usuario porque la verdad todos los lenguajes .net de MS son muy parecidos creo que era para tirar la nueva versión vb únicamente pero la verdad este si cumple con todos los puntos de orientado a objetos..

nos vemos..
__________________
* Antes de preguntar lee las FAQ, y por favor no hagas preguntas en las FAQ
Sitio http://www.geoavila.com twitter: @GeoAvila
  #22 (permalink)  
Antiguo 03/03/2006, 20:36
Avatar de Fann_Lavigne  
Fecha de Ingreso: diciembre-2004
Mensajes: 622
Antigüedad: 19 años, 4 meses
Puntos: 12
Me parecen muy buenas aportaciones las que han generado. Pero aun me queda una duda.

Cuando en VB6 llamas API's (DLL's programados en C++) estan llamando Clases, y dichas clases cumplen con POO, ¿pero entonces que hace VB6 al respecto?
__________________
"Entre Mas Brillante Es Una Mente, Tiene Que Luchar Contra Demonios Internos Mas Poderosos"
[email protected]
  #23 (permalink)  
Antiguo 04/03/2006, 02:55
 
Fecha de Ingreso: abril-2005
Mensajes: 3.083
Antigüedad: 19 años
Puntos: 17
Cita:
Iniciado por Fann_Lavigne
Me parecen muy buenas aportaciones las que han generado. Pero aun me queda una duda.

Cuando en VB6 llamas API's (DLL's programados en C++) estan llamando Clases, y dichas clases cumplen con POO, ¿pero entonces que hace VB6 al respecto?
¿De dónde has sacado esas conclusiones?

Supongo que a "APIs" te referirás a las de Windows. Éstas se hicieron con C (no con C++), y C no es POO. Por lo tanto, ni estás llamando a clases, ni VB6 maneja clases.

¿Sabes realmente lo que es una clase? Lo que tú haces en VB6 no es más que llamar a una función:

MessageBox "Hola" "lalal"

Eso es una función, y de POO o de clase no tiene nada de nada.


Definitivamente, olvida que VB6 es POO. Tu amigo tenía razón. No entra en discusión, porque VB6 no tiene ni un sólo ápice de la POO. Lo siento ;) Para poder programar de las maneras modernas, usa otros lenguajes (C++, C#, VB.Net, Java...). Aunque no te recomiendo VB.Net ni Java.

Última edición por MaxExtreme; 04/03/2006 a las 03:02
  #24 (permalink)  
Antiguo 04/03/2006, 11:00
 
Fecha de Ingreso: noviembre-2003
Ubicación: Mexico
Mensajes: 1.081
Antigüedad: 20 años, 5 meses
Puntos: 7
Cita:
Iniciado por MaxExtreme
C++ es el lenguaje por excelencia "orientado a objetos" en la rama de Microsoft.
Disculpa, no entendi este comentario.
no habras querido decir "c#"?
o por que en "la rama de microsoft"?

saludos,
  #25 (permalink)  
Antiguo 04/03/2006, 15:26
Avatar de Developer9
(Desactivado)
 
Fecha de Ingreso: abril-2005
Ubicación: Mi Ecuador del alma
Mensajes: 4.196
Antigüedad: 19 años
Puntos: 47
Cita:
Iniciado por GeoAvila
esto se pone alegre.. pensaría mejor pasar a vb.net jeje como ya lo estoy practicando.. jejej

nos vemos..
La sintaxis de Vb para mi es horrible relacionado con C#
  #26 (permalink)  
Antiguo 04/03/2006, 15:30
Avatar de Developer9
(Desactivado)
 
Fecha de Ingreso: abril-2005
Ubicación: Mi Ecuador del alma
Mensajes: 4.196
Antigüedad: 19 años
Puntos: 47
Cita:
Iniciado por MaxExtreme
...¿Sabes realmente lo que es una clase?...
Una clase es la instancia de un objeto.

Yo saqué 10 en Programación II :D
  #27 (permalink)  
Antiguo 04/03/2006, 17:55
 
Fecha de Ingreso: abril-2005
Mensajes: 3.083
Antigüedad: 19 años
Puntos: 17
Cita:
Iniciado por blackwind
Disculpa, no entendi este comentario.
no habras querido decir "c#"?
o por que en "la rama de microsoft"?

saludos,
He querido decir lo que está puesto: C++ es el lenguaje por excelencia orientado a objetos en la rama Microsoft ... (de productos).

Quiero decir, que C++ sigue siendo su lenguaje estrella en los compiladores que desarrollan (Visual Studio).
  #28 (permalink)  
Antiguo 04/03/2006, 17:58
 
Fecha de Ingreso: abril-2005
Mensajes: 3.083
Antigüedad: 19 años
Puntos: 17
Cita:
Iniciado por Developer9
Una clase es la instancia de un objeto.

Yo saqué 10 en Programación II :D
¿? Le decía a la chica que inició el post, en relación a que la API de Windows no usa para nada clases sino objetos.

Y por cierto, una clase no es una instancia de un objeto. Lo que habrás querido decir (si sacaste 10), es que un objeto es una instancia de una clase.
  #29 (permalink)  
Antiguo 05/03/2006, 01:05
Avatar de Fann_Lavigne  
Fecha de Ingreso: diciembre-2004
Mensajes: 622
Antigüedad: 19 años, 4 meses
Puntos: 12
Cita:
Iniciado por MaxExtreme
¿? Le decía a la chica que inició el post, en relación a que la API de Windows no usa para nada clases sino objetos.

Y por cierto, una clase no es una instancia de un objeto. Lo que habrás querido decir (si sacaste 10), es que un objeto es una instancia de una clase.
Oye, espero ke lo hayas dicho en broma o ke estes konfundido, por ke no soy chika jeje, soy men, valedor, soy kabron, kolegua programador, eso es todo jeje.
__________________
"Entre Mas Brillante Es Una Mente, Tiene Que Luchar Contra Demonios Internos Mas Poderosos"
[email protected]
  #30 (permalink)  
Antiguo 05/03/2006, 01:08
Avatar de Fann_Lavigne  
Fecha de Ingreso: diciembre-2004
Mensajes: 622
Antigüedad: 19 años, 4 meses
Puntos: 12
Cita:
Iniciado por MaxExtreme
¿De dónde has sacado esas conclusiones?

Supongo que a "APIs" te referirás a las de Windows. Éstas se hicieron con C (no con C++), y C no es POO. Por lo tanto, ni estás llamando a clases, ni VB6 maneja clases.

¿Sabes realmente lo que es una clase? Lo que tú haces en VB6 no es más que llamar a una función:

MessageBox "Hola" "lalal"

Eso es una función, y de POO o de clase no tiene nada de nada.


Definitivamente, olvida que VB6 es POO. Tu amigo tenía razón. No entra en discusión, porque VB6 no tiene ni un sólo ápice de la POO. Lo siento ;) Para poder programar de las maneras modernas, usa otros lenguajes (C++, C#, VB.Net, Java...). Aunque no te recomiendo VB.Net ni Java.
Perdon, pero kreo ke nunka has manejado API's y si lo has echo no sabes ni lo ke llamas, y NO me referia al MsgBox con las API's sino a funciones escritas en C de las DLL's de Windows, pero sorry, kreo ke me exprese mal.

Y de lo ke si estoy seguro es ke C y C++ son mas POO ke VB6. Por eso mismo es ke no puedes decir ke C no es POO.
__________________
"Entre Mas Brillante Es Una Mente, Tiene Que Luchar Contra Demonios Internos Mas Poderosos"
[email protected]
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.
Tema Cerrado

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 07:50.