El implícita característica
de un programa orientado a objetos es Abstracción
. La abstracción es la especificación de un tipo abstracto de datos, que incluye una especificación de los de tipo representación de datos
y comportamiento
. En particular,
Para nuestros propósitos, un tipo de datos abstracto es un nuevo tipo (no intrínseca a la lengua).
No es uno de los tipos de datos primitivos que se construyen en el lenguaje de programación (como int, long, float, etc.).
La distinción en el párrafo anterior es muy importante. La representación de los datos y el comportamiento de los tipos intrínsecos o primitivas que ya se sabe que el compilador y no pueden ser modificados por el programador.
La representación y el comportamiento de un tipo abstracto no es conocido por el compilador hasta que se especifica mediante el programador y presentado al compilador de una manera apropiada.
¿Cómo se presenta la especificación de un tipo abstracto al compilador? Java y C ++ programadores definir los representación de datos
y los comportamiento
de un nuevo tipo (presentar la especificación para el compilador) usando la palabra clave clase
(programadores de C ++ también puede utilizar las palabras clave struct
y
unión).
En otras palabras, en Java y C ++, la palabra clave clase
se utiliza para convertir la especificación de un nuevo tipo en algo que el compilador puede trabajar; un conjunto de planes
por así decirlo.
Otros idiomas pueden utilizar distintos mecanismos para presentar la especificación del tipo abstracto para el compilador.
Una vez que se define el nuevo tipo , uno o más objetos de ese tipo puede ser traído a la existencia (instancia, causó a ocupar la memoria).
Una vez instanciado, se dice que el objeto de tener Estado
y comportamiento
. El Estado
de un objeto está determinado por los valores actuales de sus datos (variables de instancia) y de la comportamiento
de un objeto está determinado por sus métodos (funciones miembro o métodos de instancia).
Por ejemplo, tomar de nuevo algunas libertades, si vemos un botón GUI como un objeto, es bastante fácil de visualizar el estado y e