Skip to content

Commit 15667fc

Browse files
committed
JAVA - Métodos
Signed-off-by: diwes-gh <alejandro@alejandroalsa.es>
1 parent 50bd0c7 commit 15667fc

File tree

2 files changed

+256
-8
lines changed

2 files changed

+256
-8
lines changed
Lines changed: 127 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,127 @@
1+
---
2+
title: métodos de clase
3+
date: 2023-12-15 12:00:00 +0800
4+
categories: [Programación, Java]
5+
tags: [Java]
6+
---
7+
8+
# Métodos de clase
9+
10+
Haciendo memoria recordamos que un método es un bloque de código que solo se ejecuta cuando se llama.
11+
12+
```java
13+
public class main{
14+
static void mimétodo(){
15+
System.out.println("Hola Mundo!!");
16+
}
17+
18+
public static void main(String[] args){
19+
mimétodo();
20+
}
21+
}
22+
```
23+
24+
## Estático vs Público
25+
26+
A menudo veras que en Java aparecen `static` o `public` atributos y métodos.
27+
28+
En el ejemplo anterior, creamos un método `static`, lo que se puede acceder a el sin crear un objeto de clase, a diferencia de `public`, al que se puede acceder mediante objetos:
29+
30+
```java
31+
// Ejemplo practico para demostrar las diferencias entre `static` y `public`
32+
33+
public class main{
34+
// Método estático
35+
static void metodoEstatico() {
36+
System.out.println("Los métodos estáticos pueden invocarse sin crear objetos");
37+
}
38+
39+
// Método publico
40+
public void metodoPublico(){
41+
System.out.println("Los métodos públicos deben ser invocados mediante la creación de objetos");
42+
}
43+
44+
// Método principal
45+
public static void main(String[] args){
46+
metodoEstatico();
47+
// métodoPublico(); Al compilar daría error
48+
49+
main myObjeto = new main();
50+
myObjeto.metodoPublico();
51+
}
52+
}
53+
```
54+
55+
## Métodos de acceso con un objeto
56+
57+
```java
58+
// Crea un objeto llamado `miCoche`. Llama a `aceleracion()` y `valocidad()` en el objeto `miCoche` y ejecuta el programa.
59+
60+
// Creamos la clase main
61+
public class main{
62+
63+
// Creamos el método aceleracion
64+
public void aceleracion(){
65+
System.out.println("¡El coche va tan rápido como puede!");
66+
}
67+
68+
// Creamos el método y añadimos el parámetro velocidad
69+
public void velocidad(int velocidadMaxima){
70+
System.out.println("La velocidad maxima es: " + velocidadMaxima + "Km/h");
71+
}
72+
73+
// Dentro de main, llamamos a los métodos del objeto miCoche
74+
public static void main(String[] args){
75+
main miCoche = new main(); // Creamos el objeto miCoche
76+
miCoche.aceleracion(); // Llamamos al método aceleracion
77+
miCoche.velocidad(200); // Lamamos al método velocidad y le indicamos el valor del parámetro
78+
}
79+
}
80+
```
81+
82+
Salida:
83+
84+
```txt
85+
¡El coche va tan rápido como puede!
86+
La velocidad máxima es: 200Km/h
87+
```
88+
89+
## Utilizando múltiples clases
90+
91+
Como vimos en la publicación de "Clases", es una buena practica crear un objeto de una clase y acceder a el en otro clase (en otro .java)
92+
93+
```java
94+
// main.java
95+
96+
public class main{
97+
98+
public void aceleracion(){
99+
System.out.println("¡El coche va tan rápido como puede!");
100+
}
101+
102+
public void velocidad(int velocidadMaxima){
103+
System.out.println("La velocidad máxima es: " + velocidadMaxima + "Km/h");
104+
}
105+
}
106+
```
107+
108+
```java
109+
// execute.java
110+
111+
public class execute{
112+
113+
public static void main(String[] args){
114+
115+
main miCoche = new main();
116+
miCoche.aceleracion();
117+
miCoche.velocidad(200);
118+
}
119+
}
120+
```
121+
122+
Salida:
123+
124+
```txt
125+
¡El coche va tan rápido como puede!
126+
La velocidad máxima es: 200Km/h
127+
```

_posts/2023-12-15-java-programacion-orientada-objetos.md

Lines changed: 129 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,14 @@ tags: [Java]
77

88
# Programación orientada a objetos - POO
99

10-
La programación convencional consisten en escribir procedimientos o métodos que realicen operaciones sobre los datos, mientras que la POO se trata de crear objetos que contangan datos y métodos.
10+
La programación convencional consisten en escribir procedimientos o métodos que realicen operaciones sobre los datos, mientras que la POO se trata de crear objetos que contengan datos y métodos.
1111

12-
Esta tiene cietas ventajas frente a la programación convencional:
12+
Esta tiene ciertas ventajas frente a la programación convencional:
1313

14-
* Es mas rapida y facil de ejecutar
14+
* Es mas rápida y fácil de ejecutar
1515
* Proporciona una estructura clara para los programas
16-
* Ayuda a mantener el codigo SECO (sin repeticiones) y hace que el codigo sea más facil de mantener, entender, modificar y depurar
17-
* Permite crear herramientas totalmente reutilizablas, aplicaciones con menos codigo y menor tiempo de desarrollo.
16+
* Ayuda a mantener el código SECO (sin repeticiones) y hace que el código sea más fácil de mantener, entender, modificar y depurar
17+
* Permite crear herramientas totalmente reutilizabas, aplicaciones con menos código y menor tiempo de desarrollo.
1818

1919
## Clases y Objetos
2020

@@ -34,7 +34,7 @@ Las clases y los objetos son los dos aspectos principales de la POO.
3434

3535
Una clase es una plantilla para objetos y un objeto es una instancia de una clase, cuando se crean los objetos individuales, heredan todas las variables y métodos de la clase.
3636

37-
Todo en Java esta asociado con lcases y objetos, junto con sus atributos y metodos. Por ejemplo: en la vida real un coches es un objeto y este tiene atributos, como peso, color, y métodos, como conducir y frenar.
37+
Todo en Java esta asociado con clases y objetos, junto con sus atributos y métodos. Por ejemplo: en la vida real un coches es un objeto y este tiene atributos, como peso, color, y métodos, como conducir y frenar.
3838

3939
Una clase es como un constructor de objetos o un "modelo" para crear objetos.
4040

@@ -57,9 +57,9 @@ public class main{
5757

5858
## Múltiples clases
5959

60-
Tambien puedes crear un objeto de una clase y acceder a él en otra clase. Esto se utiliza a menudo para una mejor organizacion de las clases (una de las clases tiene todos los atributos y metodos, mientras que la otra clase tiene los metodos)
60+
También puedes crear un objeto de una clase y acceder a él en otra clase. Esto se utiliza a menudo para una mejor organización de las clases (una de las clases tiene todos los atributos y métodos, mientras que la otra clase tiene los métodos)
6161

62-
Recuerda que el nombre del archivo `.java` debe conincidir con el nombre de la clase, por eso crearemos dos archivos uno llamado `main.java` y otro `execute.java`
62+
Recuerda que el nombre del archivo `.java` debe coincidir con el nombre de la clase, por eso crearemos dos archivos uno llamado `main.java` y otro `execute.java`
6363

6464
```java
6565
// main.java
@@ -85,3 +85,124 @@ Salida de `execcute.java`
8585
```text
8686
5
8787
```
88+
89+
## Atributos de clase Java
90+
91+
Anteriormente utilizamos el termino "variable" para `x`, como se muestra a continuación. En realidad es un atributo de clase. O se podría decir que los atributos de clases son variables dentro de una clase.
92+
93+
```java
94+
// Crea una clase llamada "main" con dos atributos "x" e "y"
95+
96+
public class main{
97+
int x = 10;
98+
int y = 20;
99+
}
100+
```
101+
102+
> NOTA: Otro termino para los atributos de clases es campos.
103+
104+
### Acceso a los atributos
105+
106+
Podemos acceder a los atributos creando un objeto de clase y utilizando la sintaxis de puntos `.`.
107+
108+
En el siguiente ejemplo crearemos un objeto de la clase `main` con el nombre `myObjeto` y utilizaremos el atributo `x` en el objeto para imprimir su valor:
109+
110+
```java
111+
// Crear un objeto llamado `myObjeto` e imprimir el valor de `x`
112+
113+
public class main{
114+
int x = 10;
115+
116+
117+
public static void main(String[] args){
118+
main myObjeto = new main();
119+
System.out.println(myObjeto.x);
120+
121+
}
122+
}
123+
```
124+
125+
### Modificar atributos
126+
127+
Al igual que podemos modificar el valor de las variables como vimos en anteriores post, los atributos también los podemos modificar:
128+
129+
```java
130+
public class main{
131+
int x = 10;
132+
133+
public static void main(String[] args){
134+
main myObjeto = new main();
135+
myObjeto.x = 20;
136+
System.out.println(myObjeto.x);
137+
}
138+
}
139+
```
140+
141+
Salida:
142+
143+
```txt
144+
20
145+
```
146+
147+
O también podemos indicar que no se puede modificar el valor de una variable
148+
149+
```java
150+
public class main{
151+
final int x = 10;
152+
153+
public static void main(String[] args){
154+
main myObjeto = new main();
155+
myObjeto.x = 10; // Generará un error: no se puede asignar un valor a una variable final
156+
System.out.println(myObjeto.x);
157+
}
158+
}
159+
```
160+
161+
> NOTA: `final` es una palabra clave y es útil utilizarla cuando deseamos que el valor de una variable se almacene de forma permanente como el valor del numero PI (3.14159265359...)
162+
163+
### Múltiples objetos
164+
165+
Si creamos varios objetos de una clase, podemos cambiar los valores de los atributos (llamados "variables" fuera del contexto POO) en un objeto, sin afectar a los valores del atributo en otros objetos:
166+
167+
168+
```java
169+
public class main{
170+
int x = 10;
171+
172+
173+
public static void main(String[] args){
174+
main myObjetoX = new main();
175+
main myObjetoY = new main();
176+
177+
myObjetoX.x = 20;
178+
System.out.println(myObjetoY.x);
179+
System.out.println(myObjetoX.x);
180+
}
181+
}
182+
```
183+
184+
Salida;
185+
186+
```txt
187+
10
188+
20
189+
```
190+
191+
#### Múltiples atributos
192+
193+
Podemos especificar varios atributos (variables) como queramos:
194+
195+
196+
```java
197+
public class main{
198+
String nombre = "Alejandro";
199+
String apellidos = "Alfaro Sánchez";
200+
int edad = 20;
201+
202+
public static void main(String[] args){
203+
main datosPersonales = new main();
204+
205+
System.out.println("Nombre: " + datosPersonales.nombre + ", Apellidos: " + datosPersonales.apellidos + ", Edad: " + datosPersonales.edad);
206+
}
207+
}
208+
```

0 commit comments

Comments
 (0)