0% encontró este documento útil (0 votos)
0 vistas6 páginas

T1_POO_Java

La Programación Orientada a Objetos en Java se basa en el uso de objetos que encapsulan datos y comportamientos, con conceptos clave como encapsulamiento, herencia, polimorfismo y abstracción. El encapsulamiento oculta el estado interno de los objetos, la herencia permite la reutilización de código, el polimorfismo permite que un método se comporte de diferentes maneras y las interfaces definen contratos para las clases. Estos principios son fundamentales para el diseño y desarrollo de aplicaciones en Java.

Cargado por

angramirezvega
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
0 vistas6 páginas

T1_POO_Java

La Programación Orientada a Objetos en Java se basa en el uso de objetos que encapsulan datos y comportamientos, con conceptos clave como encapsulamiento, herencia, polimorfismo y abstracción. El encapsulamiento oculta el estado interno de los objetos, la herencia permite la reutilización de código, el polimorfismo permite que un método se comporte de diferentes maneras y las interfaces definen contratos para las clases. Estos principios son fundamentales para el diseño y desarrollo de aplicaciones en Java.

Cargado por

angramirezvega
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Tema 1: Programación Orientada a Objetos en

Java

Apuntes de Ingeniería de Software


Agosto 2026
Página 1: Conceptos Fundamentales

La Programación Orientada a Objetos (POO) es un paradigma que utiliza "objetos" para diseñar
aplicaciones. Un objeto encapsula datos y comportamientos. En Java, todo gira en torno a las clases,
que son los moldes o plantillas a partir de los cuales se instancian los objetos.

Por ejemplo, si pensamos en un tablero virtual, una pieza no es solo una variable, es una entidad con un
estado (color, posición) y un comportamiento (mover, capturar).

public class Pieza {


String color;
String tipo;

public void mover(int x, int y) {


[Link]("Moviendo " + tipo + " a " + x + "," + y);
}
}
Página 2: Encapsulamiento

El encapsulamiento es el principio de ocultar el estado interno de un objeto y requerir que toda


interacción se realice a través de los métodos de dicho objeto. Esto se logra mediante modificadores de
acceso.

• private: Solo accesible dentro de la propia clase.


• public: Accesible desde cualquier lugar.
• protected: Accesible en el mismo paquete y subclases.

public class Jugador {


private int elo;
private String username;

public int getElo() {


return elo;
}

public void setElo(int elo) {


if (elo > 0) {
[Link] = elo;
}
}
}
Página 3: Herencia

La herencia permite que una clase derive de otra, heredando sus atributos y métodos. En Java se utiliza
la palabra reservada extends. Esto fomenta la reutilización de código y establece relaciones lógicas
("es un tipo de").

public class Peon extends Pieza {


boolean primerMovimiento = true;

public void coronar() {


[Link]("El peón se ha convertido en Reina.");
}
}
Página 4: Polimorfismo

El polimorfismo permite que una misma llamada a un método tenga comportamientos distintos
dependiendo del objeto que lo ejecute. Se manifiesta principalmente de dos formas: Sobrecarga (mismo
método, distintos parámetros) y Sobrescritura (@Override, mismo método, distinta implementación en
la clase hija).

@Override
public void mover(int x, int y) {
// Lógica específica para el movimiento en L del Caballo
[Link]("El caballo salta a " + x + "," + y);
}
Página 5: Abstracción e Interfaces

Las interfaces definen un contrato. No implementan comportamiento (hasta Java 8 con métodos
default), solo definen qué métodos deben existir. Una clase puede implementar múltiples interfaces
usando implements, superando la limitación de herencia simple de Java.

public interface Movible {


boolean validarMovimiento(int x, int y);
}

public class Rey extends Pieza implements Movible {


@Override
public boolean validarMovimiento(int x, int y) {
return [Link](this.x - x) <= 1 && [Link](this.y - y) <= 1;
}
}

También podría gustarte