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

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

Explorando la Programación Orientada a Aspectos (AOP), con @domix

Clojure para programadores Java(2)

      Siguiendo la serie de post sobre Clojure veremos los tipos de datos en este lenguaje de programación. Como cualquier otro lenguaje dependiente de la JVM posee tipos de datos. Ejemplos de tipos de datos en Clojure  "Esto es una cadena de texto. "  String  'W'  Character  34500  Long  7.54  Double  nil  null  bar  símbolo en Clojure  :bar  llave en Clojure  (1 2 3)  lista en Clojure  [1 2 3]  vector en Clojure  {"Alef" 1 "Bet" 2 }  mapa en Clojure REPL de Clojure Abrimos una terminal y tecleamos clj. Esto abrirá un REPL: Clojure 1.10 .2 user=> 1 +2 +3 +4 1 2 3 4 user=> + 3 4 5 6 # object[clojure.core$_PLUS_ 0 x1d572e62 "clojure.core$_PLUS_@1d572e62" ] 3 4 5 6 user=> (+ 3 4 5 6 ) 18 user=> ( * 4 5 6 7 ) 840 user=> "Esto es una cadena en Clojure." "Esto es una cadena en Clojure." user=> ( def texto "