You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Haciendo memoria recordamos que un método es un bloque de código que solo se ejecuta cuando se llama.
11
+
12
+
```java
13
+
publicclassmain{
14
+
static void mimétodo(){
15
+
System.out.println("Hola Mundo!!");
16
+
}
17
+
18
+
publicstaticvoidmain(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
+
publicclassmain{
34
+
// Método estático
35
+
staticvoidmetodoEstatico() {
36
+
System.out.println("Los métodos estáticos pueden invocarse sin crear objetos");
37
+
}
38
+
39
+
// Método publico
40
+
publicvoidmetodoPublico(){
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
+
publicstaticvoidmain(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
+
publicclassmain{
62
+
63
+
// Creamos el método aceleracion
64
+
publicvoidaceleracion(){
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
+
publicvoidvelocidad(intvelocidadMaxima){
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
+
publicstaticvoidmain(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
+
publicclassmain{
97
+
98
+
publicvoidaceleracion(){
99
+
System.out.println("¡El coche va tan rápido como puede!");
Copy file name to clipboardExpand all lines: _posts/2023-12-15-java-programacion-orientada-objetos.md
+129-8Lines changed: 129 additions & 8 deletions
Original file line number
Diff line number
Diff line change
@@ -7,14 +7,14 @@ tags: [Java]
7
7
8
8
# Programación orientada a objetos - POO
9
9
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.
11
11
12
-
Esta tiene cietas ventajas frente a la programación convencional:
12
+
Esta tiene ciertas ventajas frente a la programación convencional:
13
13
14
-
* Es mas rapida y facil de ejecutar
14
+
* Es mas rápida y fácil de ejecutar
15
15
* 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.
18
18
19
19
## Clases y Objetos
20
20
@@ -34,7 +34,7 @@ Las clases y los objetos son los dos aspectos principales de la POO.
34
34
35
35
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.
36
36
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.
38
38
39
39
Una clase es como un constructor de objetos o un "modelo" para crear objetos.
40
40
@@ -57,9 +57,9 @@ public class main{
57
57
58
58
## Múltiples clases
59
59
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)
61
61
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`
63
63
64
64
```java
65
65
// main.java
@@ -85,3 +85,124 @@ Salida de `execcute.java`
85
85
```text
86
86
5
87
87
```
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
+
publicclassmain{
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
+
publicclassmain{
114
+
int x =10;
115
+
116
+
117
+
publicstaticvoidmain(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
+
publicclassmain{
131
+
int x =10;
132
+
133
+
publicstaticvoidmain(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
+
publicclassmain{
151
+
finalint x =10;
152
+
153
+
publicstaticvoidmain(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
+
publicclassmain{
170
+
int x =10;
171
+
172
+
173
+
publicstaticvoidmain(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:
0 commit comments