Contenido del Curso
Java Avanzado
Java Avanzado
¿Qué Es una Clase?
Clase
Una clase es un concepto fundamental en la programación OOP. Se refiere a una plantilla para crear objetos. Una clase consta de campos (datos) y métodos (comportamiento). Consideremos la clase Dog
, donde los campos (datos) serían información sobre el name
y la age
del perro, y el método (comportamiento) haría que el perro se presente y diga su nombre:
Dog.java
class Dog { String name; int age; void introduce() { System.out.println("Woof, woof (which means 'My name is " + name + "!')."); } }
Consideremos qué constituye datos (campos) y qué representa comportamiento (métodos):
Como podemos ver en el diagrama, tenemos campos que no están inicializados dentro de la propia clase, así como un método que aún no se llama en ninguna parte. Vamos a crear un objeto de la clase Dog
en la clase principal e inicializar sus campos:
Main.java
public class Main { public static void main(String[] args) { Dog dog = new Dog(); dog.name = "Brian"; dog.age = 13; } }
Creamos un objeto de la clase Dog
y lo nombramos dog
.
La sintaxis para crear un objeto de una clase es:
ClassName objectName = new ClassName();
También inicializamos las propiedades del objeto asignando valores a los campos.
El nombre de nuestro perro es Brian
y la edad es 13
.
La sintaxis para inicializar los campos de un objeto es:
objectName.fieldName = value;
Así que ahora tenemos un objeto de la clase Dog
con los campos inicializados.
Ahora vamos a invocar un método de nuestra clase Dog
:
Main.java
package com.example; class Dog { String name; int age; void introduce() { System.out.println("Woof, woof (which means 'My name is " + name + "!')."); } } public class Main { public static void main(String[] args) { Dog dog = new Dog(); dog.name = "Brian"; dog.age = 13; dog.introduce(); } }
Invocamos correctamente un método de la clase Dog
utilizando ese método en el objeto Dog
. Puede que hayas notado la misma sintaxis cuando llamamos métodos de la clase String
anteriormente.
1. ¿Cómo declarar una clase?
2. ¿Debemos crear una nueva clase dentro de otra clase?
¡Gracias por tus comentarios!