Diferencia entre revisiones de «Objeto»
Línea 1: | Línea 1: | ||
{{WP|http://es.wikipedia.org/wiki/Objeto_%28programaci%C3%B3n%29|http://es.wikipedia.org/wiki/Objeto_(programación)}} | {{WP|http://es.wikipedia.org/wiki/Objeto_%28programaci%C3%B3n%29|http://es.wikipedia.org/wiki/Objeto_(programación)}} | ||
− | Un '''Objeto''' | + | Un '''Objeto''' (aunque también se le suele llamar, dependiendo de su cometido, '''clase''', '''tipo de dato''', o '''instancia''', '''variable''', '''constante''') es una [[estructura]] definida por el [[lenguaje|lenguaje de programación]] donde aparece. La definición de un '''objeto''' hereda siempre, directa o indirectamente, de las [[Estructuras básicas]] que implementan los [[Compiladores]] e [[Idiomas]]. Por lo general, los '''Objetos''' que están definidos en un [[LeWaS]] (como el [[Lenguaje eWamblador|eWamblador]]) son accesibles para sus evoluciones y todos tienen en común la [[Estructura:OBJECT]] como '''ancestro''' más alto. |
== Nomenclatura ternaria == | == Nomenclatura ternaria == | ||
Línea 6: | Línea 6: | ||
La palabra '''objetos''' tiene '''tres connotaciones''': | La palabra '''objetos''' tiene '''tres connotaciones''': | ||
− | === Objetos como | + | === Objetos como estructuras === |
− | La '''primera''' | + | La '''primera''', usada por defecto generalmente, indica que todas las [[estructuras]] de alto nivel se denominan '''objetos'''. Esto se debe a que una '''clase''' define un modelo ''objeto'', a su vez, guardando esa definición en una [[estructura]] que guarda ese diseño. De igual forma, las '''instancias''' de una '''clase''', son '''objetos''' de ese '''tipo de dato''' porque guardan la información de la propia '''instancia'''. Por lo tanto, ambas definiciones (clase e instancia) se agrupan bajo la definición de ''[[estructuras]] que guardan datos''. Eso son los '''objetos'''. |
− | === Objetos como clases === | + | === Objetos como modelos de clases === |
− | La '''segunda''' connotación, como vimos anteriormente, | + | La '''segunda''' connotación, usada en algunas ocasiones como vimos anteriormente, consiste en definir a las '''clases''' (diseños de una ''[[estructura]] de alto nivel'') como '''objetos'''. Aunque su uso correcto es llamarlas simplemente '''clases''' o '''tipos de datos''', es habitual llamarlas también '''objetos''', ya que éstas, en esencia, '''guardan datos'''; y esa es la definición por defecto de '''objeto'''. |
=== Objetos como instancias === | === Objetos como instancias === | ||
− | La '''tercera''' connotación, | + | La '''tercera''' connotación, que es la otra alternativa, consiste en definir a las '''instancias''' (''[[estructuras]] de alto nivel'' bajo el diseño de una '''clase''') como '''objetos'''. Aunque su uso correcto es llamarlas simplemente '''instancias''', también es habitual llamar a éstas '''objetos''', ya que éstas también '''guardan datos'''; y esa es la definición por defecto de '''objeto'''. |
== Clases == | == Clases == | ||
− | '''' | + | {{AP|Clases}} |
+ | Las [[clases]] son ''[[estructuras]] de alto nivel'' con un diseño computacional concreto. | ||
+ | |||
== Instancias == | == Instancias == | ||
− | '''' | + | {{AP|Clases}} |
+ | Las [[instancias]] son ''[[estructuras]] de alto nivel'' bajo el modelo diseñado por una [[clase]]. | ||
+ | |||
== LeWaS == | == LeWaS == | ||
Revisión del 21:38 23 nov 2010
Un Objeto (aunque también se le suele llamar, dependiendo de su cometido, clase, tipo de dato, o instancia, variable, constante) es una estructura definida por el lenguaje de programación donde aparece. La definición de un objeto hereda siempre, directa o indirectamente, de las Estructuras básicas que implementan los Compiladores e Idiomas. Por lo general, los Objetos que están definidos en un LeWaS (como el eWamblador) son accesibles para sus evoluciones y todos tienen en común la Estructura:OBJECT como ancestro más alto.
Sumario
Nomenclatura ternaria
La palabra objetos tiene tres connotaciones:
Objetos como estructuras
La primera, usada por defecto generalmente, indica que todas las estructuras de alto nivel se denominan objetos. Esto se debe a que una clase define un modelo objeto, a su vez, guardando esa definición en una estructura que guarda ese diseño. De igual forma, las instancias de una clase, son objetos de ese tipo de dato porque guardan la información de la propia instancia. Por lo tanto, ambas definiciones (clase e instancia) se agrupan bajo la definición de estructuras que guardan datos. Eso son los objetos.
Objetos como modelos de clases
La segunda connotación, usada en algunas ocasiones como vimos anteriormente, consiste en definir a las clases (diseños de una estructura de alto nivel) como objetos. Aunque su uso correcto es llamarlas simplemente clases o tipos de datos, es habitual llamarlas también objetos, ya que éstas, en esencia, guardan datos; y esa es la definición por defecto de objeto.
Objetos como instancias
La tercera connotación, que es la otra alternativa, consiste en definir a las instancias (estructuras de alto nivel bajo el diseño de una clase) como objetos. Aunque su uso correcto es llamarlas simplemente instancias, también es habitual llamar a éstas objetos, ya que éstas también guardan datos; y esa es la definición por defecto de objeto.
Clases
Las clases son estructuras de alto nivel con un diseño computacional concreto.
Instancias
Las instancias son estructuras de alto nivel bajo el modelo diseñado por una clase.
LeWaS
Debido a que el Idioma eWa está orientado a estructuras, es decir, todo son estructuras, y los Lenguajes de Programación eWa están basados en este Idioma, todo son estructuras. Estas estructuras pueden ser Objetos o Funciones.
En los LeWaS se usa la función class para crear clases/tipos de datos. Esa misma función es la usada en otros lenguajes como C, Java, y casi todos los orientadas a objetos. Como es sensitivo (distingue mayúsculas y minúsculas), dentro del Proyecto eWa se recomienda un buen hábito: el uso de la primera letra en mayúscula.
Los Objetos, o clases, se deben interpretar como el conjunto de funciones con un cometido y area de datos conectados. Es de destacar que esa característica solo ayuda al desarrollador, y no se ve reflejada en el resultado de la compilación, ya que esas relaciones no aparecen fielmente en el Código Máquina generado: todo son funciones.