Clases y Objetos
¡Te doy la más cordial bienvenida!
En esta Lección, conocerás como la Programación Orientada a Objetos (POO) se fundamenta en el uso de clases y objetos como elementos centrales del diseño y desarrollo de software. Las clases definen la estructura y el comportamiento de los objetos, mientras que los objetos representan instancias concretas de esas clases en la memoria del programa. Comprender cómo se crean, manipulan y relacionan las clases y objetos es fundamental para desarrollar aplicaciones robustas, reutilizables y fáciles de mantener (Lafore, 2018).
Antes de comenzar
Tutorial para la creación de un proyecto
Paso 02
Paso 01
Una vez que hayas instalado NetBeans, Descarga el siguiente tutorial que se presenta a continuación
Necesitas tener instalado Java y el entorno de desarrollo NetBeans, el cual puedes descargar desde el siguiente enlace:
Enlace
Autor: NetBeans Título: Apache NetBeans
¿Qué son las clases?
Una clase es una plantilla o molde que describe cómo serán los objetos: define sus atributos (características) y métodos (acciones o comportamientos).
public class Persona { // Atributos String nombre; int edad; // Método void saludar() { System.out.println("Hola, mi nombre es " + nombre); } }
En términos simples, una clase es el plano y el objeto es la casa construida a partir de ese plano.
Aquí la clase Persona define dos atributos (nombre, edad) y un método (saludar()).
Creación de clases
public class Person {String name; String lastName=""; Person() {} public static void main(String[]args){} public void talk(){} public void walk(){} }
Nombre de la clase
Atributos de la clase
Juan Pérez Hernández
Constructor de la clase
Método de la clase
Atributos
Nombre de la variable
String
lastName
" "
Tipo de dato
Valor
Recuerda
Un atributo es una propiedad que ayuda a describir un objeto
Atributos
Existen dos tipos de datos
Por referencia Hace referencia a una clase, por ejemplo: Person person; Donde Person corresponde al tipo de dato y person corresponde a la variable.
Primitivos Definidos por el lenguaje, en este caso ya habíamos comentado algunos: String, int, double, char, etc
Para saber más
Enlace
Autor: Oracle Título: Tipo de datos y tamaños
Instanciación de una clase
La instanciación es el proceso de crear un objeto a partir de una clase. En Java, se utiliza la palabra clave new para hacerlo.
public class Main { public static void main(String[] args) { Persona p1 = new Persona(); // Instanciación p1.nombre = "Ana"; p1.edad = 30; p1.saludar(); } }
Explicación:
- new Persona() crea la instancia en memoria.
Cada objeto tiene sus propios valores de atributos, aunque compartan la misma clase.
¿Cómo referenciar al objeto actual?
En Java, la palabra clave this se usa para referenciar al objeto actual, es decir, al objeto que ejecuta el método.
public class Persona { String nombre; int edad; public Persona(String nombre, int edad) { this.nombre = nombre; // “this” se refiere al objeto actual this.edad = edad; } void mostrarInfo() { System.out.println("Nombre: " + this.nombre + ", Edad: " + this.edad); } }
Sirve para distinguir atributos de variables locales o para pasar el objeto actual como argumento a otros métodos.
Explicación: En el constructor, this.nombre se refiere al atributo de la clase, mientras que nombre (sin this) es el parámetro del método.
public class Calculadora { int sumar(int a, int b) { return a + b; } void mostrarResultado(int resultado) { System.out.println("El resultado es: " + resultado); } public static void main(String[] args) { Calculadora calc = new Calculadora(); int resultado = calc.sumar(10, 5); calc.mostrarResultado(resultado); } }
Métodos
Los métodos son acciones o comportamientos que un objeto puede realizar.
En Java, los métodos pueden recibir parámetros, devolver valores y modificar el estado del objeto.
Explicación:
- sumar() retorna un valor.
- mostrarResultado() no devuelve nada (void).
- Ambos métodos pertenecen a la clase Calculadora.
Elementos de un método
Modificador de acceso
Nombre del método
Parámetros
public
void
...)
paramB,
walk
(String
paramA,
int
Tipo de dato que devolverá el método
Tipo de dato del parámetro
Variable
return
valor;
Valor que devuelve el método
Para saber más...
Te invito a ver el siguiente video
Video
Autor: UVEG Título: Métodos
Encapsulamiento
Para poder lograr el encapsulamiento es bueno conocer un poco más sobre los modificadores de acceso public y private.
Public: el método o variable es accesible desde cualquier parte del programa.
Private: el método o variable es accesible solo dentro de la clase donde fue definido.
Recuerda
El encapsulamiento hace referencia a ocultar los detalles de implementación internos del objeto a los demás.
Encapsulamiento
public class Person {
String name;
String lastName=””;
Public void talk(){
this name = Juan;
}
public void walk(){
}
}
En el fragmento de código podemos ver una nueva palabra reservada this, la cual tiene acceso a todos los elementos de la claseactual, es por ello, que this tiene acceso a los atributos name y lastName; además tiene acceso a los métodos talk y walk.
Pero, ¿cómo podemos usar esto para nuestro beneficio?
Para todos estos inconvenientes tenemos a nuestro alcance los métodos SET y GET, los cuales son más que métodos que asignan un valor a un atributo y obtienen el valor del mismo.
Para comprender un poco mejor esto veamos un ejemplo:
Tenemos el atributo name ahora debemos generar su método SET y GET.
Public String name = "";
Instancia de una clase
Clase
Es un molde, en el cual se define la forma o características de un objeto.
Instancia de una clase
Una isntancia se crea a partir de una clase, mediante la cual tenemos acceso a los atributos y métodos de la misma, para crear una instancia, hacemos uso de la palabra reservada new, además es importante resaltar que cuando se crea una instancia se reserva un espacio en memoria (RAM)
La sentencia para crear una instancia es la siguiente:
new NombreClase();
Recuerda
Los nombres de las clases siempre deben comenzar con mayúscula a diferencia de los nombres en atributos y métodos que inician en minúscula.
Referencia al objeto actual
Ejemplo
Observemos que hemos creado una variable llamada person, pero en lugar de asignar un tipo de dato primitivo como lo es int, double, etc. Ahora indicamos que es del tipo Person, el cual corresponde a una clase.
Person person;
A continuación, veremos cómo aplicar los conceptos estudiados en la lección;
Video
Autor: Pedro Camacho Título: Clases Java
Constructores y Destructores
Constructores
public class Persona { String nombre; int edad; // Constructor public Persona(String nombre, int edad) { this.nombre = nombre; this.edad = edad; System.out.println("Se ha creado una persona: " + nombre); } } public class Main { public static void main(String[] args) { Persona p1 = new Persona("Luis", 28); } }
Un constructor es un método especial que se ejecuta automáticamente al crear un objeto. Su nombre debe ser igual al de la clase y no tiene tipo de retorno.
Resultado: Se ha creado una persona: Luis
Constructores y Destructores
Destructores
Java no tiene destructores explícitos como C++ porque cuenta con el Garbage Collector, que elimina automáticamente los objetos no utilizados.
Sin embargo, puede usarse el método finalize() (aunque está en desuso) o técnicas de cierre controlado de recursos (por ejemplo, con try-with-resources).
Sobrecarga de métodos y operadores
public class Calculadora { int sumar(int a, int b) { return a + b; } double sumar(double a, double b) { return a + b; } String sumar(String a, String b) { return a + b; } public static void main(String[] args) { Calculadora calc = new Calculadora(); System.out.println(calc.sumar(5, 3)); // 8 System.out.println(calc.sumar(2.5, 4.3)); // 6.8 System.out.println(calc.sumar("Hola ", "Mundo")); // "Hola Mundo" } }
Sobrecarga de métodos
La sobrecarga de métodos permite definir varios métodos con el mismo nombre pero diferentes parámetros (cantidad o tipo). Es una forma de adaptar un método a distintos contextos.
Sobrecarga de métodos y operadores
Sobrecarga de operadores (concepto)
class Numero { int valor; Numero(int valor) { this.valor = valor; } Numero sumar(Numero n) { return new Numero(this.valor + n.valor); } } public class Main { public static void main(String[] args) { Numero n1 = new Numero(5); Numero n2 = new Numero(7); Numero resultado = n1.sumar(n2); System.out.println("Resultado: " + resultado.valor); } }
En lenguajes como C++, se pueden redefinir los operadores (+, -, ==, etc.) para trabajar con objetos. En Java, no es posible sobrecargar operadores, pero se puede simular este comportamiento sobrecargando métodos o utilizando clases específicas (como BigInteger o String).
Para saber más...
Te invito a ver el siguiente video
Resumen
La instanciación, el uso del this, y las técnicas de encapsulamiento permiten mantener la integridad de los datos y mejorar la calidad del software.
Estos elementos permiten crear programas modulares, reutilizables y bien estructurados, donde cada objeto tiene una función clara dentro del sistema.
La comprensión de clases, objetos, constructores, métodos y sobrecarga es esencial para dominar la POO en Java.
¡Felicidades!
Has concluido la lección
Contesta las siguientes preguntas para retroalimentar lo aprendido
El método main corresponde al punto de ejecución de nuestro programa, es decir, que es el método que comienza la ejecución de la aplicación, es por ello que siempre debe ser público y estático (public y static).
public class Person { String name; String lastName = ""; Person(){} public static void main(String[] args){} public void talk(){} public void walk(){} }
El constructor es un método especial que se manda a llamar cuando se crea una instancia de la clase (se crea una instancia haciendo uso de la palabra reservada new
public class Person { String name; String lastName = ""; Person(){} public static void main(String[] args){} public void talk(){} public void walk(){} }
Con la clase person representamos a una persona, así mismo tenemos algunos atributos que toda persona tiene, tales como nombre y apellidos (en la clase definidos name y lastName), agregamos algunos métos los cuales representan las acciones que pueden hacer una persona, en este caso se agregaron dos, hablar y caminar (en la clase definidos como talk y walk)
public class Person { String name; String lastName = ""; Person(){} public static void main(String[] args){} public void talk(){} public void walk(){} }
get
Para ello, comenzamos escribiendo get seguido del nombre del atributo name como se muestra en el siguiente ejemplo:
public String getName(){
Return this.name;
}
En este método, podemos ver que devuelve el atributo name, así mismo vemos que el método tiene asignado el tipo de dato String puesto que el atributo name es de tipo String.
El método talk es público, por el cual es accesible desde cualquier parte del código, dicho de otra forma, desde cualquier otra clase que lo mande llamar.
public class Person {String name;String lastName=””;Public void talk(){this name = Juan;}public void walk(){}}
En el siguiente código se puede ver como los atributos name y lastName son privados lo cual quiere decir que solo serán accesibles dentro de la clase Person.
public class Person {String name;String lastName=””;Public void talk(){this name = Juan;}public void walk(){}}
- Deitel, P., & Deitel, H. (2019). Java: How to Program (11th ed.). Pearson Education.
- Lafore, R. (2018). Object-Oriented Programming in C++ (4th ed.). Pearson Education.
- Sebesta, R. W. (2018). Concepts of Programming Languages (12th ed.). Pearson.
- Schildt, H. (2021). Java: The Complete Reference (12th ed.). McGraw-Hill.
set
Para ello, iniciamos escribiendo setseguido del nombre del atributo name cmo se muestra en el siguiente ejemplo:
public void setName(String name) {
This.name=name;
}
En este método podemos ver cómo recibe parámetros el valor que será asignado al atributo name, así mismo veremos que el método tiene asignado el tipo de datos void, lo cual quiere decir que no devolverá ningún valor.
Ahoara, procedemos a crear la instancia de la clase Person utilizando la variable person
Person=new Person();
Las sentencias descritas anteriormente las podemos resumir de la siguiente manera:
Person person=new Person();
Entoces, de esta forma ya podemos acceder a los métos y variables de la clase Person, tan solo usando la variable person, como vemos en el siguiente ejemplo:
Person.name="";
Person.talk();
UNISA_ISC0628_P3
Luis Lescieur
Created on October 29, 2025
Start designing with a free template
Discover more than 1500 professional designs like these:
View
Newspaper Presentation
View
Audio tutorial
View
Pechakucha Presentation
View
Desktop Workspace
View
Decades Presentation
View
Psychology Presentation
View
Medical Dna Presentation
Explore all templates
Transcript
Clases y Objetos
¡Te doy la más cordial bienvenida!
En esta Lección, conocerás como la Programación Orientada a Objetos (POO) se fundamenta en el uso de clases y objetos como elementos centrales del diseño y desarrollo de software. Las clases definen la estructura y el comportamiento de los objetos, mientras que los objetos representan instancias concretas de esas clases en la memoria del programa. Comprender cómo se crean, manipulan y relacionan las clases y objetos es fundamental para desarrollar aplicaciones robustas, reutilizables y fáciles de mantener (Lafore, 2018).
Antes de comenzar
Tutorial para la creación de un proyecto
Paso 02
Paso 01
Una vez que hayas instalado NetBeans, Descarga el siguiente tutorial que se presenta a continuación
Necesitas tener instalado Java y el entorno de desarrollo NetBeans, el cual puedes descargar desde el siguiente enlace:
Enlace
Autor: NetBeans Título: Apache NetBeans
¿Qué son las clases?
Una clase es una plantilla o molde que describe cómo serán los objetos: define sus atributos (características) y métodos (acciones o comportamientos).
public class Persona { // Atributos String nombre; int edad; // Método void saludar() { System.out.println("Hola, mi nombre es " + nombre); } }
En términos simples, una clase es el plano y el objeto es la casa construida a partir de ese plano.
Aquí la clase Persona define dos atributos (nombre, edad) y un método (saludar()).
Creación de clases
public class Person {String name; String lastName=""; Person() {} public static void main(String[]args){} public void talk(){} public void walk(){} }
Nombre de la clase
Atributos de la clase
Juan Pérez Hernández
Constructor de la clase
Método de la clase
Atributos
Nombre de la variable
String
lastName
" "
Tipo de dato
Valor
Recuerda
Un atributo es una propiedad que ayuda a describir un objeto
Atributos
Existen dos tipos de datos
Por referencia Hace referencia a una clase, por ejemplo: Person person; Donde Person corresponde al tipo de dato y person corresponde a la variable.
Primitivos Definidos por el lenguaje, en este caso ya habíamos comentado algunos: String, int, double, char, etc
Para saber más
Enlace
Autor: Oracle Título: Tipo de datos y tamaños
Instanciación de una clase
La instanciación es el proceso de crear un objeto a partir de una clase. En Java, se utiliza la palabra clave new para hacerlo.
public class Main { public static void main(String[] args) { Persona p1 = new Persona(); // Instanciación p1.nombre = "Ana"; p1.edad = 30; p1.saludar(); } }
Explicación:
- new Persona() crea la instancia en memoria.
Cada objeto tiene sus propios valores de atributos, aunque compartan la misma clase.¿Cómo referenciar al objeto actual?
En Java, la palabra clave this se usa para referenciar al objeto actual, es decir, al objeto que ejecuta el método.
public class Persona { String nombre; int edad; public Persona(String nombre, int edad) { this.nombre = nombre; // “this” se refiere al objeto actual this.edad = edad; } void mostrarInfo() { System.out.println("Nombre: " + this.nombre + ", Edad: " + this.edad); } }
Sirve para distinguir atributos de variables locales o para pasar el objeto actual como argumento a otros métodos.
Explicación: En el constructor, this.nombre se refiere al atributo de la clase, mientras que nombre (sin this) es el parámetro del método.
public class Calculadora { int sumar(int a, int b) { return a + b; } void mostrarResultado(int resultado) { System.out.println("El resultado es: " + resultado); } public static void main(String[] args) { Calculadora calc = new Calculadora(); int resultado = calc.sumar(10, 5); calc.mostrarResultado(resultado); } }
Métodos
Los métodos son acciones o comportamientos que un objeto puede realizar.
En Java, los métodos pueden recibir parámetros, devolver valores y modificar el estado del objeto.
Explicación:
Elementos de un método
Modificador de acceso
Nombre del método
Parámetros
public
void
...)
paramB,
walk
(String
paramA,
int
Tipo de dato que devolverá el método
Tipo de dato del parámetro
Variable
return
valor;
Valor que devuelve el método
Para saber más...
Te invito a ver el siguiente video
Video
Autor: UVEG Título: Métodos
Encapsulamiento
Para poder lograr el encapsulamiento es bueno conocer un poco más sobre los modificadores de acceso public y private.
Public: el método o variable es accesible desde cualquier parte del programa. Private: el método o variable es accesible solo dentro de la clase donde fue definido.
Recuerda
El encapsulamiento hace referencia a ocultar los detalles de implementación internos del objeto a los demás.
Encapsulamiento
public class Person { String name; String lastName=””; Public void talk(){ this name = Juan; } public void walk(){ } }
En el fragmento de código podemos ver una nueva palabra reservada this, la cual tiene acceso a todos los elementos de la claseactual, es por ello, que this tiene acceso a los atributos name y lastName; además tiene acceso a los métodos talk y walk.
Pero, ¿cómo podemos usar esto para nuestro beneficio?
Para todos estos inconvenientes tenemos a nuestro alcance los métodos SET y GET, los cuales son más que métodos que asignan un valor a un atributo y obtienen el valor del mismo. Para comprender un poco mejor esto veamos un ejemplo:
Tenemos el atributo name ahora debemos generar su método SET y GET.
Public String name = "";
Instancia de una clase
Clase
Es un molde, en el cual se define la forma o características de un objeto.
Instancia de una clase
Una isntancia se crea a partir de una clase, mediante la cual tenemos acceso a los atributos y métodos de la misma, para crear una instancia, hacemos uso de la palabra reservada new, además es importante resaltar que cuando se crea una instancia se reserva un espacio en memoria (RAM) La sentencia para crear una instancia es la siguiente:
new NombreClase();
Recuerda
Los nombres de las clases siempre deben comenzar con mayúscula a diferencia de los nombres en atributos y métodos que inician en minúscula.
Referencia al objeto actual
Ejemplo
Observemos que hemos creado una variable llamada person, pero en lugar de asignar un tipo de dato primitivo como lo es int, double, etc. Ahora indicamos que es del tipo Person, el cual corresponde a una clase.
Person person;
A continuación, veremos cómo aplicar los conceptos estudiados en la lección;
Video
Autor: Pedro Camacho Título: Clases Java
Constructores y Destructores
Constructores
public class Persona { String nombre; int edad; // Constructor public Persona(String nombre, int edad) { this.nombre = nombre; this.edad = edad; System.out.println("Se ha creado una persona: " + nombre); } } public class Main { public static void main(String[] args) { Persona p1 = new Persona("Luis", 28); } }
Un constructor es un método especial que se ejecuta automáticamente al crear un objeto. Su nombre debe ser igual al de la clase y no tiene tipo de retorno.
Resultado: Se ha creado una persona: Luis
Constructores y Destructores
Destructores
Java no tiene destructores explícitos como C++ porque cuenta con el Garbage Collector, que elimina automáticamente los objetos no utilizados.
Sin embargo, puede usarse el método finalize() (aunque está en desuso) o técnicas de cierre controlado de recursos (por ejemplo, con try-with-resources).
Sobrecarga de métodos y operadores
public class Calculadora { int sumar(int a, int b) { return a + b; } double sumar(double a, double b) { return a + b; } String sumar(String a, String b) { return a + b; } public static void main(String[] args) { Calculadora calc = new Calculadora(); System.out.println(calc.sumar(5, 3)); // 8 System.out.println(calc.sumar(2.5, 4.3)); // 6.8 System.out.println(calc.sumar("Hola ", "Mundo")); // "Hola Mundo" } }
Sobrecarga de métodos
La sobrecarga de métodos permite definir varios métodos con el mismo nombre pero diferentes parámetros (cantidad o tipo). Es una forma de adaptar un método a distintos contextos.
Sobrecarga de métodos y operadores
Sobrecarga de operadores (concepto)
class Numero { int valor; Numero(int valor) { this.valor = valor; } Numero sumar(Numero n) { return new Numero(this.valor + n.valor); } } public class Main { public static void main(String[] args) { Numero n1 = new Numero(5); Numero n2 = new Numero(7); Numero resultado = n1.sumar(n2); System.out.println("Resultado: " + resultado.valor); } }
En lenguajes como C++, se pueden redefinir los operadores (+, -, ==, etc.) para trabajar con objetos. En Java, no es posible sobrecargar operadores, pero se puede simular este comportamiento sobrecargando métodos o utilizando clases específicas (como BigInteger o String).
Para saber más...
Te invito a ver el siguiente video
Resumen
La instanciación, el uso del this, y las técnicas de encapsulamiento permiten mantener la integridad de los datos y mejorar la calidad del software.
Estos elementos permiten crear programas modulares, reutilizables y bien estructurados, donde cada objeto tiene una función clara dentro del sistema.
La comprensión de clases, objetos, constructores, métodos y sobrecarga es esencial para dominar la POO en Java.
¡Felicidades!
Has concluido la lección
Contesta las siguientes preguntas para retroalimentar lo aprendido
El método main corresponde al punto de ejecución de nuestro programa, es decir, que es el método que comienza la ejecución de la aplicación, es por ello que siempre debe ser público y estático (public y static).
public class Person { String name; String lastName = ""; Person(){} public static void main(String[] args){} public void talk(){} public void walk(){} }
El constructor es un método especial que se manda a llamar cuando se crea una instancia de la clase (se crea una instancia haciendo uso de la palabra reservada new
public class Person { String name; String lastName = ""; Person(){} public static void main(String[] args){} public void talk(){} public void walk(){} }
Con la clase person representamos a una persona, así mismo tenemos algunos atributos que toda persona tiene, tales como nombre y apellidos (en la clase definidos name y lastName), agregamos algunos métos los cuales representan las acciones que pueden hacer una persona, en este caso se agregaron dos, hablar y caminar (en la clase definidos como talk y walk)
public class Person { String name; String lastName = ""; Person(){} public static void main(String[] args){} public void talk(){} public void walk(){} }
get
Para ello, comenzamos escribiendo get seguido del nombre del atributo name como se muestra en el siguiente ejemplo:
public String getName(){ Return this.name; }
En este método, podemos ver que devuelve el atributo name, así mismo vemos que el método tiene asignado el tipo de dato String puesto que el atributo name es de tipo String.
El método talk es público, por el cual es accesible desde cualquier parte del código, dicho de otra forma, desde cualquier otra clase que lo mande llamar.
public class Person {String name;String lastName=””;Public void talk(){this name = Juan;}public void walk(){}}
En el siguiente código se puede ver como los atributos name y lastName son privados lo cual quiere decir que solo serán accesibles dentro de la clase Person.
public class Person {String name;String lastName=””;Public void talk(){this name = Juan;}public void walk(){}}
set
Para ello, iniciamos escribiendo setseguido del nombre del atributo name cmo se muestra en el siguiente ejemplo:
public void setName(String name) { This.name=name; }
En este método podemos ver cómo recibe parámetros el valor que será asignado al atributo name, así mismo veremos que el método tiene asignado el tipo de datos void, lo cual quiere decir que no devolverá ningún valor.
Ahoara, procedemos a crear la instancia de la clase Person utilizando la variable person
Person=new Person();
Las sentencias descritas anteriormente las podemos resumir de la siguiente manera:
Person person=new Person();
Entoces, de esta forma ya podemos acceder a los métos y variables de la clase Person, tan solo usando la variable person, como vemos en el siguiente ejemplo:
Person.name=""; Person.talk();