Ir al contenido principal

Java Tip 3: Clases y objetos

Como lo vimos en el post anterior en Java todo es un objeto y cada clase por defecto pertenece a la clase padre Object. No importa que sea una clase String, Integer, Character,StringBuilder, etc. o una definida por el usuario, ninguna es excepción.

class Ticket extends Object{}

class Animal extends Object{}

class Persona extends Object{}

¿Qué es una clase?
Existen muchas definiciones, algunas de ellas son:
  • Plantillas para crear objetos.
  • Conjunto de objetos que comparten una estructura y comportamiento comunes.
  • Tipo definido por el usuario.
  • Combinación de unos datos específicos y de las rutinas que pueden operar con esos datos.
Síntaxis de una clase:
[modificador] class Clase {
   //Campos o atributos (datos o estado)
   //Métodos (subrutinas)
}  
Donde el modificador puede ser public (si es así, la clase debe llamarse de igual forma que el archivo) o default, pero nunca private o protected.

Nota: Para que exista un objeto primero debe existir el tipo definido.

Objetos
Un objeto es:
  • Una instancia de una clase definida.
  • Algo que tiene un estado, un comportamiento y una identidad.
  • Una instancia de una clase predefinida en Java o declarada por el usuario y referenciada por una variable que almacena su dirección de memoria.
Tengamos en cuenta una clase Camisa.  Sus datos miembro son color y talla y ambas son de tipo String. Además que posee métodos (que también son miembros de la clase) para acceder a ellos.

Camisa.java
package com.cityjava.modelo;

public class Camisa {
 private String color;
 private String talla;

 public Camisa(){}

 public Camisa(String color, String talla){
  super();
  this.talla=talla;
  this.color=color;
 }

 public Camisa(String color){
  this(color,"");
 }

 public void setColor(String color){
  this.color=color;
 }

 public String getColor(){
  return color;
 }

 public void setTalla(String talla){
  this.talla=talla;
 }

 public String getTalla(){
  return talla;
 }

 @Override
 public String toString() {
  return "Camisa [color=" + color + ", talla=" + talla + "]";
 }
 
 
}

Nota: Al ser variables de clase, tanto talla y color se inician de manera automática.

Ejemplo:
//Solo aplica para variables de clase

private byte myByte; // 0
private short myShort; // 0
private int myInt; // 0
private long myLong; // 0L
private float myFloat; // 0.0F
private double myDouble; // 0.0
private char myChar; // '\u0000'
private boolean myBoolean; // false

Para crear una instancia, debemos respetar la siguiente síntaxis:
Clase referencia = new ConstructorClase();
/**
* Donde: 
* Clase es el tipo definido por el usuario
* referencia es el nombre de la variable del tipo de clase
* new es el operador para crear nuevos objetos
* ConstructorClase es el constructor del tipo definido
**/

Tenemos ahora:

TestCamisa.java
package com.cityjava;

//importamos la clase Camisa
import com.cityjava.modelo.Camisa;

public class TestCamisa {

   //Método principal de la clase
   public static void main(String[] args){
     Camisa camisa = new Camisa();
     //...

   }
}

Nota: Nunca olvidar que tanto las variables y los métodos son miembros de la clase.

Links:
http://panamahitek.com/que-son-las-clases-en-java/
https://www.arkaitzgarro.com/java/capitulo-9.html


Comentarios

Entradas populares de este blog

¿Cómo diseñar una API REST? (Youtube)

Lo nuevo de Java desde la versión 12 hasta la 22

Aquí unos enlaces a varias publicaciones sobre algunos nuevos aspectos del lenguaje Java, desde la versión 12 a la 22. Expresiones Switch en Java Una nueva funcionalidad en el lenguaje: las expresiones switch. https://emanuelpeg.blogspot.com/2025/01/expresiones-switch-en-java.html API de Servidor Web Simple en Java Una API de Servidor Web Simple que permite crear servidores HTTP ligeros sin necesidad de dependencias externas. https://emanuelpeg.blogspot.com/2025/02/api-de-servidor-web-simple-en-java.html Clases Record Una implementación de las data-clases o del patrón Data Transfer Object, un tipo de clase cuyo único propósito es impulsar la programación con datos inmutables. https://alquimistadecodigo.blogspot.com/2025/02/java-clases-record.html https://emanuelpeg.blogspot.com/2025/02/record-en-java.html Clases Selladas y coincidencia de patrones en Java https://emanuelpeg.blogspot.com/2025/03/clases-selladas-y-coincidencia-de.html https://emanuelpeg.blogspo...

Clojure para programadores Java (1)

Clojure es un lenguaje de programación similar a Lisp. Corre bajo la JVM (Java Virtual Machine) y emplea la programación funcional y orientada a objetos. El sitio oficial dice: Clojure es un lenguaje de programación robusto, práctico y rápido con un conjunto de características útiles que juntas forman una herramienta simple, coherente y poderosa. Creando el Hola,mundo en Clojure. holamundo.clj (println "Hola, mundo en Clojure!!" ) La extensión de un programa en este lenguaje es .clj Como se puede notar la base es colocar las sentencias entre parentesis. ( operador/funcion var1 var2 varN) Deberás descargar Clojure, tener instalado Maven y Java. A continuación se muestra una forma de obtener el JAR de Clojure para ejecutar nuestros programas. En la Línea final podemos acceder al shel o REPL del lenguaje. $ git clone https ://github.com/clojure/clojure.git $ cd clojure $ mvn -Plocal -Dmaven.test.skip=true package $ java -jar clojure.jar E...