Un programa orientado a objetos está compuesto de objetos, cada objeto que contiene piezas funcionales específicas expuestas al usuario y piezas de implementación ocultas. En la programación orientada a objetos (OOP), no es necesario preocuparse por la implementación específica del objeto. En la programación estructurada tradicional, los algoritmos están en primer lugar y las estructuras de datos están en segundo rango, es decir, primero determine cómo operar y luego considere cómo organizar datos para facilitar la operación. OOP invierte este orden, pone los datos primero y luego considera el algoritmo que opera los datos.
I. Clase
Las clases son plantillas y planos para construir objetos. En términos de laicos, lo mismo es equivalente a los dibujos del edificio, mientras que el objeto es equivalente al edificio. El proceso de construcción de un objeto a partir de una clase se llama crear una instancia de un objeto.
En Java, la "clase" se define por la clase de palabras clave, seguida del nombre de la clase. Por ejemplo:
Persona de clase {// Contenido de cuerpo de clase}Se define una clase de persona.
1. Campos y métodos
Al definir una clase, se pueden establecer dos tipos de elementos en la clase: miembros de datos y funciones de miembros. Donde el miembro de los datos es un objeto, que puede ser de cualquier tipo. Si es un mango que apunta a un objeto, este mango debe inicializarse y conectarse a un objeto real a través del constructor. Si se trata de un tipo de datos básico, se puede inicializar directamente en la ubicación de la definición de clase.
Cada objeto conserva el espacio de almacenamiento para sus propios miembros de datos; Los miembros de los datos no se comparten entre los objetos.
Persona de clase {nombre de cadena; salario doble;} Cree un objeto con la new palabra clave. como:
Persona p = nueva persona ();
(1) El valor predeterminado del miembro maestro
Si cierto tipo de datos maestros pertenece a un miembro de la clase, no está claro que la inicialización también pueda garantizar que obtengan un valor predeterminado.
| Tipo principal | valor predeterminado |
| Booleano | FALSO |
| Carbonizarse | '/u0000' (nulo) |
| byte | (byte) 0 |
| Corto | (corto) 0 |
| intencionalmente | 0 |
| largo | 0l |
| flotar | 0.0f |
| doble | 0.0D |
Si una variable es una variable miembro de la clase, definitivamente se inicializará para el tipo principal, y se debe prestar especial atención al valor inicializado. Para las variables locales, se obtendrán algunos valores aleatorios, como: int x; no se inicializará automáticamente a 0.
(2) Método
Los componentes básicos de un método incluyen nombre , variable independiente , tipo de retorno y cuerpo . La forma básica del método es:
返回类型方法名(/*自变量列表*/) {/* 方法体*/}El tipo de retorno se refiere al tipo numérico devuelto después de que se llama al método. Un nombre de método es la identificación y referencia de un método específico. La lista de argumentos enumera los tipos y nombres de la información que desea pasar al método.
En Java, el método se llama对象名.方法名
1. Use manijas para operar objetos
Aunque Java está completamente orientado a objetos . Sin embargo, el identificador de la operación en realidad apunta al " mango " de un objeto, también conocido como " referencia ". Un mango puede existir de forma independiente, no decir que si tiene un mango, debe tener un objeto correspondiente a él. Por ejemplo, int i; Define una variable entera I, lo que no significa que debe tener un valor. Por ejemplo, cree un mango de cadena:
Cadena S;
Aquí, solo se crea un mango y no se crea ningún objeto. Como S no tiene un objeto asociado con él, aparecerá una excepción si se llama a S. Por lo tanto, se requiere inicialización al crear.
Cadena s = "hola";
En Java, se crea un objeto con la nueva palabra clave, que devuelve una referencia al objeto (es decir, un mango). entonces
Cadena S = nueva cadena ("Hello");Se creó un objeto de cadena con contenido "hola", y el mango (referencia) del objeto se entregó a S para guardar.
2. Ubicación del almacenamiento de datos
1. Registrarse. El área de ahorro más rápida, ubicada dentro del procesador. El tamaño del registro es limitado y el tamaño es asignado por el compilador.
2. Pila. Reside en el área regular de RAM (memoria de acceso aleatorio), el tamaño se puede cambiar a través del "puntero de pila". Mover el puntero de la pila creará un nuevo espacio de memoria; Avanzar hacia arriba liberará el espacio de memoria. Al crear un programa, el compilador Java debe conocer exactamente la "longitud" y "tiempo de existencia" de todos los datos almacenados en la pila, y el compilador genera el código correspondiente para mover el puntero. El mango del objeto Java se almacena en él, pero el objeto Java no se almacena en la pila.
3. Montón. Un grupo de memoria para fines regulares, donde se guardan los objetos Java. El compilador no sabe o necesita saber cuánto espacio de almacenamiento se asigna desde el "montón de memoria" o el "montón" y cuánto durarán los datos.
4. Almacenamiento estático. La estática se refiere a una posición fija (en RAM). Durante la ejecución del programa, los datos almacenados estáticamente estarán disponibles para llamar en cualquier momento. Indica que un elemento específico de un objeto es estático por palabra clave estática. Java en sí no se puede colocar en espacio de almacenamiento estático.
5. Almacenamiento constante. Los valores constantes generalmente se colocan dentro del código del programa y nunca cambian.
6. Almacenamiento no RAM. Si los datos son completamente independientes de un programa, aún puede existir cuando el programa no se está ejecutando y está dentro del alcance de control del programa. Por ejemplo, transmisión de objetos y objetos fijos.
2. Objeto
Tres características principales de un objeto:
• Comportamiento del objeto: ¿qué operaciones se pueden aplicar al objeto o qué métodos se pueden aplicar al objeto?
• Estado del objeto: ¿cómo responde el objeto al agregar esos métodos?
• Identificación de objetos: ¿cómo identificar diferentes objetos con el mismo comportamiento y estado?
El comportamiento de un objeto se define mediante un método llamable. Cada objeto contiene información que describe la función actual, que es el estado del objeto. El estado del objeto no cambia espontáneamente. Una clase bien diseñada solo se puede implementar mediante métodos llamando. Si el estado del objeto cambia sin llamadas de método, significa que la encapsulación ha sido destruida.
Encapsulación: un método de implementación que combina datos y comportamientos en un paquete y oculta datos de los consumidores del objeto. La clave para la encapsulación es que los métodos en la clase no deben acceder directamente al dominio de instancia de otras clases. Los programas interactúan solo a través de los datos del objeto del dominio del método del objeto.
Los datos en un objeto se denominan campo o atributo de instancia. El proceso de manipulación de datos se denomina método. Para cada objeto específico, hay un conjunto específico de valores de dominio de instancia (valores de atributo), y el conjunto de estos valores es el estado actual del objeto.
Relación entre clases
Relaciones comunes entre clases:
• Dependencia ("Use-A"): un método de una clase manipula objetos de otra clase.
• agregación ("ha-a"): un objeto de una clase contiene un objeto de otra clase.
• Herencia ("IS-A"): se usa para representar la relación entre especial y general. Si la clase A extiende la clase B (A hereda B), la clase A no solo contiene métodos de clase B, sino también métodos de extensión.
Un objeto en realidad no contiene un objeto, sino que solo se refiere a un objeto.
En Java, el valor de cualquier variable de objeto es una referencia a un objeto almacenado en otro lugar. El valor de retorno del nuevo operador también es una referencia.
El artículo anterior comprende de manera integral las clases y objetos de Java es todo el contenido que he compartido con usted. Espero que pueda darle una referencia y espero que pueda apoyar más a Wulin.com.