tienda de pantalones con los 2 primeros pilares de la poo
Aquí te muestro un ejemplo de una tienda de pantalones que implementa los dos primeros pilares de la POO (Programación Orientada a Objetos) en Java: encapsulación y herencia. **Pilar 1: Encapsulación** La encapsulación es la capacidad de ocultar la implementación de un objeto y exponer solo la interfaz que se puede utilizar desde fuera del objeto. **Pilar 2: Herencia** La herencia es la capacidad de crear un nuevo objeto que hereda las propiedades y métodos de un objeto existente. **Ejemplo:** ```java // Clase Pantalon (superclase) public class Pantalon { private String color; private String talla; private double precio; public Pantalon(String color, String talla, double precio) { this.color = color; this.talla = talla; this.precio = precio; } public String getColor() { return color; } public void setColor(String color) { this.color = color; } public String getTalla() { return talla; } public void setTalla(String talla) { this.talla = talla; } public double getPrecio() { return precio; } public void setPrecio(double precio) { this.precio = precio; } public void mostrarInformacion() { System.out.println("Color: " + color); System.out.println("Talla: " + talla); System.out.println("Precio: $" + precio); } } // Clase Jeans (subclase que hereda de Pantalon) public class Jeans extends Pantalon { private int cantidadBotones; public Jeans(String color, String talla, double precio, int cantidadBotones) { super(color, talla, precio); this.cantidadBotones = cantidadBotones; } public int getCantidadBotones() { return cantidadBotones; } public void setCantidadBotones(int cantidadBotones) { this.cantidadBotones = cantidadBotones; } @Override public void mostrarInformacion() { super.mostrarInformacion(); System.out.println("Cantidad de botones: " + cantidadBotones); } } // Clase Tienda public class Tienda { public static void main(String[] args) { Pantalon pantalon = new Pantalon("Azul", "M", 50.0); pantalon.mostrarInformacion(); Jeans jeans = new Jeans("Negro", "L", 60.0, 5); jeans.mostrarInformacion(); } } ``` En este ejemplo, la clase `Pantalon` es la superclase y la clase `Jeans` es la subclase que hereda de `Pantalon`. La clase `Jeans` tiene una propiedad adicional `cantidadBotones` que no existe en la clase `Pantalon`. La encapsulación se implementa mediante los métodos `get` y `set` que permiten acceder y modificar las propiedades de los objetos de manera segura. La herencia se implementa mediante la palabra clave `extends` que permite a la clase `Jeans` heredar las propiedades y métodos de la clase `Pantalon`. La clase `Jeans` también puede agregar nuevas propiedades y métodos que no existen en la clase `Pantalon`.