java class vs object how use class
En este tutorial, discutiremos uno de los conceptos de OOPS en detalle. Exploraremos todo sobre la clase y el objeto de Java junto con ejemplos:
Sabemos que la programación orientada a objetos enfatiza los datos y, por lo tanto, gira en torno a entidades llamadas objetos. Las clases actúan como planos de estos objetos.
Veamos cómo crear una clase y sus componentes. También aprenderemos a crear e inicializar objetos en Java con la ayuda de ejemplos de programación más adelante en este tutorial.
=> Visite aquí para ver la serie exclusiva de tutoriales de capacitación en Java.
Lo que vas a aprender:
Clases y objetos en Java
En Java, todas las características, atributos, métodos, etc. están vinculados a clases y objetos. No podemos escribir un programa Java solo con la función principal sin declarar una clase como podemos hacerlo en C ++.
Por ejemplo, si queremos escribir un programa en un vehículo, un vehículo es un objeto en tiempo real. Pero los vehículos pueden ser de varios tipos. Esto significa que el vehículo tiene un atributo de tipo que puede asumir varios valores como automóvil, camión, scooter, bicicleta, etc.
Entonces, la forma en que expresamos el objeto del vehículo en Java es crear una clase 'Vehículo' y luego definir sus diversos atributos. Luego, podemos declarar varios objetos de clase de vehículo como automóvil, bicicleta, etc.
Dentro de la clase, podemos definir las propiedades de Vehicle como los atributos de la clase (miembros de datos) y métodos como startVehicle (), stopVehicle (), etc.
De esta manera, para expresar incluso la entidad más pequeña en Java, primero debemos identificar el objeto y luego definir su plano o una clase.
Así que primero aprendamos todo sobre las clases y los objetos y luego pasemos a los otros conceptos de POO en Java.
Clase en Java
Para desarrollar un programa en Java, utilizamos objetos y clases. Mientras que una clase en Java es solo una unidad lógica, un objeto en Java es una entidad tanto física como lógica.
¿Qué es un objeto en Java?
Un objeto es una entidad que tiene un estado y exhibe comportamiento. Por ejemplo, cualquier entidad de la vida real como un bolígrafo, una computadora portátil, un móvil, una mesa, una silla, un automóvil, etc. es un objeto. Todos estos objetos son físicos (tangibles) o lógicos (intangibles).
Los objetos intangibles en su mayoría son un sistema de líneas aéreas, un sistema bancario, etc. Son entidades lógicas que tienen un estado y comportamiento particular.
Cada objeto tiene las siguientes características principales:
- Identidad: Una identificación única define la identidad del objeto. El usuario normal no ve este ID, pero internamente JVM utiliza este ID para identificar de forma exclusiva el objeto.
- Expresar: Define los datos presentes en el objeto o el valor del objeto.
- Comportamiento: Esta característica representa la funcionalidad (comportamiento) de un objeto. Por ejemplo, el objeto Vehículo que discutimos anteriormente tiene el comportamiento de inicio, parada, etc.
Revisaremos la definición del objeto cuando definamos la clase.
Entonces, ¿qué es una clase?
Sabemos que el componente principal de la programación orientada a objetos es un objeto. Si queremos construir un tipo específico de objeto, necesitamos un plano. Este plano nos proporcionará un conjunto de instrucciones que nos ayudarán a construir un objeto.
Por ejemplo, digamos que queremos construir una casa. La casa aquí es un objeto. Para construir una casa, necesitamos un plano inicial para la casa. No podemos construir directamente la casa como nos plazca.
Aquí es donde la clase entra en escena. Entonces, para construir un objeto o entidad de la vida real, primero tendremos un plano que determina el contenido y el comportamiento de un objeto. Esto se conoce como una clase en programación orientada a objetos.
Por tanto, una clase se puede definir como ' un plano o una plantilla y define el estado y comportamiento del objeto ”.
También podemos ver la clase como un grupo de objetos. Este grupo tiene algunas propiedades que son comunes a todos los objetos.
Veamos cómo crear una clase en Java.
Cómo crear una clase en Java
La sintaxis de clase general de una definición de clase en Java es:
|_+_|La declaración general anterior de una clase se representa en el siguiente diagrama con una declaración de clase de ejemplo:
Tenga en cuenta que la superclase y la interfaz en la declaración de clase son opcionales. Podemos optar por tener una clase independiente sin extenderla desde otra superclase o implementar ninguna interfaz.
La definición general anterior también mostró los componentes que pueden estar presentes en la definición de clase.
Componentes de la clase
Los componentes de la clase se representan a continuación.
Como se muestra en el diagrama anterior, una clase Java contiene los siguientes componentes:
- Campos
- Métodos
- Constructores
- Bloques
- Interfaz y clase anidadas
A continuación, discutiremos los primeros tres componentes. Estos componentes son necesarios en cualquier clase. Las clases y las interfaces anidadas son un tema completamente diferente y se discutirán en nuestros tutoriales posteriores.
Antes de comenzar una discusión sobre los componentes de la clase, primero definamos una clase Customer_Account
|_+_|Campos
Los campos son variables o datos de la clase. Los campos también se denominan variables miembro en Java. Usamos los términos campo y variable indistintamente.
Por lo general, los campos de una clase son de dos tipos:
# 1) Variables de clase: Las variables de clase se declaran con la palabra 'estática' para que sean variables estáticas. Esto significa que este tipo de variable tiene solo una copia por clase, independientemente de cuántas instancias u objetos estén presentes para esa clase.
# 2) Variables de instancia: Son lo opuesto a las variables de clase. Los miembros de datos se denominan variables de instancia porque estas variables tienen memoria separada asignada para cada instancia de clase en tiempo de ejecución.
En la definición de clase anterior, hemos mostrado variables de clase e instancia. La variable 'bank_name' declarada con un modificador estático es la variable de clase. Las otras dos variables 'customer_accNo' y 'customer_name' son variables de instancia.
Constructor
Los constructores son métodos especiales que se utilizan generalmente para inicializar una instancia de una clase. Los constructores no tienen un tipo de retorno, tienen el mismo nombre que la clase y pueden contener parámetros o no.
En la definición de clase anterior, tenemos un constructor.
|_+_|Aprenderemos más sobre los constructores en nuestros tutoriales posteriores.
Método
Un método en una clase Java es la función que define el comportamiento del objeto y sus miembros.
Un método de clase se crea de la misma manera en que creamos métodos regulares en un programa. Dentro del método de clase, podemos usar todas las construcciones y características proporcionadas por Java.
En nuestra definición de clase de ejemplo, tenemos un método 'printInfo' que muestra los distintos miembros de datos de la clase.
Un método de clase Java generalmente tiene el siguiente prototipo:
|_+_|La instancia de clase accede a los métodos de clase mediante el operador de punto. Entonces, si creamos una instancia acc de la clase anterior 'Customer_Account', entonces podemos acceder a printInfo usando la línea de código a continuación.
|_+_|Si el modificador_acceso es estático, entonces no necesitamos una instancia para acceder al método. Podemos usar el nombre de la clase directamente para acceder al método como,
|_+_|Ejemplo de clase Java
Implementemos un ejemplo simple para demostrar una clase y un objeto en Java.
|_+_|Producción
El programa anterior declara una clase de estudiante. Tiene tres variables de instancia, a saber. student_id, student_name y student_marks.
Luego definimos la clase Main, en la que declaramos un objeto de la clase Student llamado student_object. Luego, usando el operador de punto, accedemos a las variables de instancia e imprimimos sus valores.
El programa anterior es un ejemplo de un método principal fuera de la clase.
En el siguiente ejemplo, tendremos un método principal dentro de la clase.
|_+_|Producción
El programa anterior es el mismo que el programa anterior, excepto que el método principal es dentro de la clase de Estudiantes.
Objeto en Java
Ahora que tenemos suficiente conocimiento sobre clases en Java, podemos redefinir el objeto en términos de clase. Entonces, un objeto es ' una instancia de una clase ”. Por lo tanto, creamos una variable o instancia de tipo class_name y se denomina objeto.
Algunos puntos para recordar sobre un objeto:
- Un objeto se ve como una unidad básica de OOP junto con la clase.
- Un objeto es una unidad de ejecución.
- Un objeto se denomina instancia de una clase.
- Un objeto tiene comportamiento y estado.
- Un objeto toma todas las propiedades y atributos de la clase de la que es una instancia. Pero en cualquier momento, cada objeto tiene diferentes estados o valores variables.
- Un objeto se utiliza para representar una entidad en tiempo real en aplicaciones de software.
- Una sola clase puede tener cualquier número de objetos.
- Los objetos interactúan entre sí mediante la invocación de métodos.
Cómo crear una instancia de un objeto
La declaración del objeto también se denomina instanciación de objetos en Java. La declaración de un objeto es lo mismo que la declaración de una variable.
Por ejemplo, la clase Customer_Account que hemos declarado anteriormente se puede utilizar para declarar un objeto.
Por lo tanto, declaramos o instanciamos el objeto de Customer_Account de la siguiente manera:
|_+_|La declaración anterior declara o instancia un objeto llamado 'cuenta' de la clase Customer_Account.
Tenga en cuenta que cuando instanciamos un objeto de una clase, la clase debería ser estrictamente una 'clase concreta'. No podemos declarar un objeto de una clase abstracta.
La declaración anterior solo declara un objeto. No podemos usar esta variable para llamar a métodos de la clase o establecer valores de las variables miembro. Esto se debe a que no hemos asignado memoria para el objeto declarado.
cómo abrir archivos .jar
Entonces tenemos que crear correctamente un objeto para usarlo más.
La creación real de un objeto se realiza mediante la inicialización de objetos. Una vez que declaramos un objeto, necesitamos inicializarlo. Entonces solo podemos usar este objeto para acceder a las variables miembro y métodos de la clase.
Cómo crear un objeto
Podemos crear un objeto en Java usando los siguientes métodos:
# 1) Usando una nueva palabra clave
Podemos inicializar un objeto usando una nueva palabra clave. Este método es el método más utilizado para crear un nuevo objeto.
Por ejemplo,dada una clase ABC, podemos crear un nuevo objeto de clase de la siguiente manera:
|_+_|En la declaración anterior, myObj es el nuevo objeto creado con el operador new. El objeto creado con este método tiene los valores iniciales de todos los miembros de datos. El constructor ABC () que sigue a la nueva palabra clave es el constructor predeterminado de la clase ABC.
También podemos definir constructores con parámetros y llamar a ese constructor con la palabra clave new para que creemos un objeto con los valores deseados de miembros de datos.
# 2) Usando el método Class.forName ()
Java proporciona una clase llamada 'Clase' que mantiene toda la información sobre clases y objetos en el sistema. Podemos usar el método forName () de la clase 'Class' para crear un objeto. Tenemos que pasar un nombre de clase totalmente calificado como argumento al método forName.
Entonces podemos llamar al método newInstance () que devolverá la instancia de la clase.
Las siguientes líneas de código muestran esto.
|_+_|La declaración anterior creará un nuevo objeto myObj de clase ABC.
# 3) Por método clone ()
La clase de objeto en Java proporciona un método clone () que devuelve el clon o copia del objeto pasado como argumento al método clone ().
Por ejemplo,
|_+_|# 4) Por deserialización
Java proporciona una técnica llamada deserialización en la que leemos un objeto de un archivo guardado. Aprenderemos la deserialización en un tutorial separado.
Cómo inicializar un objeto
En esta sección, discutiremos los métodos para inicializar un objeto en Java. La inicialización se refiere a la asignación de valores a los miembros de datos de la clase. A continuación se muestran algunos de los métodos que se utilizan para inicializar objetos en Java.
# 1) Inicializar un objeto a través de una referencia
El objeto de referencia creado se utiliza para almacenar valores en el objeto. Esto se hace simplemente usando un operador de asignación.
La inicialización de un objeto mediante la referencia se muestra en el programa siguiente.
|_+_|Producción
El programa anterior declara una clase de estudiante con variables de tres miembros. Luego, en el método principal, creamos un objeto de la clase Student usando la nueva palabra clave. Luego asignamos datos a cada uno de los campos miembros del objeto como se muestra en el programa.
# 2) Inicialización del objeto a través del método
En este ejemplo, estamos creando los dos objetos de la clase Student e inicializando el valor de estos objetos invocando el método insertRecord. El método insertRecord es un método miembro de la clase Student.
|_+_|Producción
# 3) Inicialización del objeto a través del constructor
También podemos inicializar un objeto usando un constructor.
El programa para demostrar el uso del constructor se muestra a continuación.
|_+_|Producción
En este programa, la clase` Student tiene un constructor parametrizado que toma los parámetros y los asigna a las variables miembro.
Objeto de clase Vs en Java
Clase | Objeto |
---|---|
Un campo de miembro de la clase no tiene ningún valor. | Cada objeto tiene una copia de los campos miembro y sus valores asociados. |
La clase es una plantilla o un plan para la creación de objetos. | El objeto es una instancia de una clase. |
La clase no asigna memoria cuando se crea. | Al objeto se le asigna memoria cuando se crea. |
La clase es una entidad lógica. | El objeto es una entidad física. |
La clase se declara utilizando una palabra clave de clase. | El objeto se crea utilizando métodos nuevos, forName () .newInstance (), clone (). |
La clase es un grupo de objetos idénticos. P.ej. Animales de clase (). | El objeto es una entidad específica. P.ej. Animales perro = nuevos animales (); |
La clase se puede declarar solo una vez. | Una clase puede tener cualquier número de instancias u objetos. |
Preguntas frecuentes
P # 1) ¿Cuál es la diferencia entre Clase y Objeto?
Responder: Una clase es una plantilla utilizada para la creación de objetos. Un objeto es una instancia de una clase. Mientras que una clase es una entidad lógica, un objeto es una entidad física. Cada objeto tiene un estado en el que todas las variables miembro tienen valores específicos. La clase no tiene estado.
P # 2) ¿Qué contiene una clase Java?
Responder: Una clase Java que actúa como plantilla o modelo para crear objetos define propiedades o campos y comportamientos o métodos.
P # 3) ¿Por qué usamos clases en Java?
Responder: Usando clases y objetos podemos modelar las aplicaciones del mundo real en Java y así resolverlas de manera eficiente. Los objetos con un estado y comportamiento representan entidades del mundo real y las clases actúan como sus planos. Por lo tanto, al usar clases como bloques de construcción, podemos modelar cualquier aplicación compleja.
P # 4) Explique la clase y el objeto con un ejemplo de la vida real.
Responder: Si tomamos el automóvil como un objeto, entonces un automóvil puede tener atributos como marca, color, motor, kilometraje, etc. También puede tener algunos métodos como start (), stop (), applybrakes (). Por lo tanto, podemos modelar un automóvil en un objeto de software. Ahora el coche puede tener varias marcas como Maruti, fiat, etc.
Entonces, para representar todos estos modelos de automóvil, podemos tener una plantilla de clase que contendrá todos los atributos y métodos comunes definidos para que podamos instanciar esta clase y obtener nuestro objeto de automóvil deseado.
Por lo tanto, un vehículo de objetos de la vida real se puede convertir fácilmente en un objeto en Java.
Conclusión
En este tutorial, hemos aprendido los detalles de las clases y los objetos en Java. Cubrimos la definición de clase y objeto. El tutorial tiene una discusión detallada sobre la definición de la clase, los componentes de la clase, así como los ejemplos de cómo usar la clase en un programa.
También aprendimos los detalles de los objetos en Java, incluida su declaración, creación, inicialización, etc. con ejemplos de programación apropiados.
Exploramos las principales diferencias entre clases y objetos. En nuestros próximos tutoriales, discutiremos los tipos de clases y los constructores en la clase, después de lo cual pasaremos a otros temas.
=> Tenga cuidado con la serie de capacitación simple de Java aquí.
Lectura recomendada
- Conceptos básicos de Java: sintaxis de Java, clase de Java y conceptos básicos de Java
- Clase Java Integer y Java BigInteger con ejemplos
- ¿Qué es Java Vector | Tutorial de clase de vector de Java con ejemplos
- OOP Java: Introducción a la programación orientada a objetos en Java
- Tutorial de clase de matriz de Java - clase java.util.Arrays con ejemplos
- Tutorial de clase de escáner de Java con ejemplos
- Matriz de objetos en Java: cómo crear, inicializar y usar
- Tipos de clases en Java: abstracto, concreto, final, estático