Clases, objetos e instancias

Muchas veces me he dado cuenta de la confusión a la hora de clases, objetos e instancias. ¿Quién no está particularmente educados en la programación orientada a objetos a menudo confunde el verdadero significado de estos términos. Sabía, sin embargo, que hay dos escuelas de pensamiento acerca de la definición de clase y objeto. Me gusta la "escuela" que indica la definición de clase como un posible tema y, por lo tanto, el objeto como instancia de la clase.

Parece trivial, pero me pasó a mí - hablar con los demás - para estar en "conflicto" (por así decirlo) y luego caer en la duda, al utilizar estos términos, partiendo del supuesto de que en todo caso el "otro" exactamente cómo vamos a .

Yo lo veo de esta manera, una clase es una definición! Se define con precisión una clase de objetos posibles. La clase es el conjunto de métodos y propiedades (si quieres también podemos añadir eventos - ¿qué otra cosa ... no sólo que los métodos especiales) que será propietario del objeto.

Por ejemplo, cuando escribimos en Actionscript, o cualquier otro lenguaje orientado a objetos:

1
2
3
4
class MyClass {
Función MiaClass () {}
myMethod function () {}
}

Hemos definido una clase y no un objeto. En el límite de un objeto "posible" se ha "definido". Incluso podríamos afirmar, y con razón, que existe el objeto en tiempo de ejecución, mientras que la clase no (en realidad existe Clases dinámicas que se pueden definir - y luego se usa para crear objetos - incluso en tiempo de ejecución). Excluir las clases estáticas, por supuesto, que - al final - no son más que los sub-casos (o casos ocultos) y luego los objetos verdaderos.

En cambio, cuando se tiene que:

1
MiaClasse = new MiaClasse ( ) ; var MiObjeto: MyClass = new MyClass ();

! Aquí mioOggetto es una instancia de MiaClasse() ! . Es mioOggetto es un tema - de hecho - de tipo MiaClasse() .

. Como resultado, su filosofía a los objetos, los objetos de tipo MiaClasse() puedo tener tantos como yo quiero, algo que no puede ser - la definición misma - de MiaClasse() . Por ejemplo, si tiene sentido y la relación:

1
2
3
4
5
MiaClasse = new MiaClasse ( ) ; var mioOggetto_1: MyClass = new MyClass ();
MiaClasse = new MiaClasse ( ) ; var mioOggetto_2: MyClass = new MyClass ();
MiaClasse = new MiaClasse ( ) ; var mioOggetto_3: MyClass = new MyClass ();
...
MiaClasse = new MiaClasse ( ) ; var mioOggetto_n: MyClass = new MyClass ();

No tiene sentido:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
class MyClass {
Función MiaClass () {}
MioMetodo_2 function () {}
}

class MyClass {
Función MiaClass () {}
MioMetodo_2 function () {}
}

class MyClass {
Función MiaClass () {}
MioMetodo_3 function () {}
}

Asunto instancia y, por lo tanto, coinciden y se utilizan alternativamente para el mismo significado en diferentes contextos.

Es probable que no da mucho que nadie ... cuestión de los requisitos de integridad ... :)

4 comentarios a: ""

  1. 03 de septiembre 2008 ActionScript 3.0 para principiantes: Lección # 2 | Undolog.com :

    [...] Para aquellos que son dueños de una programación orientada a objetos en seco, recomiendo las clases, al menos, la lectura, objetos e instancias! [...]

  2. 11 de noviembre 2008 ActionScript 3.0 para principiantes: Lección # 4 | Undolog.com :

    [...] Las variables o constantes estáticas están asociados con la clase y no la instancia de la clase! Ver Clases, objetos e instancias. Esta es una diferencia importante, de hecho, en nuestro caso, si escribimos - por medio de [...]

  3. 09 de febrero 2012 Nik:

    El lunes examen I de la informática java, gracias He estado útil, el libro que estaba claro sobre el tema.

  4. 09 de febrero 2012 Giovan Battista Fazioli :

    @ Nik: Me alegro! Buena suerte, entonces! ;)

Deja un comentario

TAG XHTML PERMISOS: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> ENTRADA CÓDIGO:
 <pre></pre> // blocco generico <code></code> // blocco generico [cc_actionscript][/cc_actionscript] // Actionscript [cc_actionscript3][/cc_actionscript3] // Actionscript 3 [cc_css][/cc_css] // CSS Style Sheet [cc_html][/cc_html] // HTML [cc_js][/cc_js] // Javascript [cc_objc][/cc_objc] // Objective-C [cc_php][/cc_objc] // PHP [cc_sql][/cc_sql] // SQL