package com.trifulcas.ejerciciosSolid;
public class Article {
private String Title;
private String Content;
public void setTitle(String title) {
this.Title = title;
}
public void setContent(String content) {
this.Content = content;
}
}
package com.trifulcas.ejerciciosSolid;
public class GenerateSummary {
public String generateSummary(String content) {
// Logic to generate a summary from the content
return content.substring(0, 100) + "..."; // just a simple example
}
}
package com.trifulcas.ejerciciosSolid;
import com.trifulcas.juego.Enemigo;
public class SaveToDatabase {
// Cosas del tipo conexión a BD
// etc...
public void saveToDatabase(Article article) {
// Logic to save the article to a database
}
public void saveToDatabase(Enemigo enemigo) {
// Logic to save the article to a database
}
}
package com.trifulcas.ejerciciosSolid;
public abstract class ReportGenerator {
public abstract void generateReport(String data);
}
package com.trifulcas.ejerciciosSolid;
public class ReportGeneratorPDF extends ReportGenerator {
@Override
public void generateReport(String data) {
System.out.println("Aquí va el código de generar PDF");
}
}
package com.trifulcas.ejerciciosSolid;
public class ReportGeneratorCSV extends ReportGenerator {
@Override
public void generateReport(String data) {
System.out.println("Código para generar CSV");
}
}
package com.trifulcas.ejerciciosSolid;
public interface IReportGenerator {
public void generateReport(String data);
}
package com.trifulcas.ejerciciosSolid;
public class ReportGeneratorXML implements IReportGenerator {
@Override
public void generateReport(String data) {
System.out.println("Lógica para generar XML");
}
}
package com.trifulcas.ejerciciosSolid;
public class ReportGeneratorID {
IReportGenerator reportGenerator;
public ReportGeneratorID(IReportGenerator reportGenerator) {
this.reportGenerator = reportGenerator;
}
public void generateReport(String data) {
reportGenerator.generateReport(data);
}
}
package com.trifulcas.ejerciciosSolid;
public class ProbarReports {
public static void main(String[] args) {
String datos="Hola que tal";
// Generar un PDF
ReportGeneratorPDF rgp=new ReportGeneratorPDF();
rgp.generateReport(datos);
// Generar un XML con ID
ReportGeneratorXML rgx=new ReportGeneratorXML();
ReportGeneratorID rgid=new ReportGeneratorID(rgx);
rgid.generateReport(datos);
rgid=new ReportGeneratorID(rgx);
rgid.generateReport(datos);
}
}
package com.trifulcas.ejerciciosSolid;
public interface IClean {
void Clean();
}
package com.trifulcas.ejerciciosSolid;
public class Apartment implements IClean {
@Override
public void Clean() {
System.out.println("Apartment cleaned.");
}
}
package com.trifulcas.ejerciciosSolid;
import java.util.Date;
public interface IRoom {
void Reserve(Date from, Date to);
void CheckInventory();
}
package com.trifulcas.ejerciciosSolid;
public interface IInventory {
void CheckInventory();
}
package com.trifulcas.ejerciciosSolid;
import java.util.Date;
public interface IReserve {
void Reserve(Date from, Date to);
}
Autor: Juan Pablo Fuentes
Formador de programación y bases de datos
Piedra Papel Tijeras
https://github.com/juanpablofuentes/Java/tree/master/PiedraPapelTijera
Ejercicios Files
public class Alumno {
// El public es un modificador de acceso
// Quiere decir que cualquiera puede acceder al valor
public String nombre;
// Tenemos tres sabores de protección
// public, protected y private
private ArrayList<Integer> notas;
// Los parámetros que queremos poner al crear la clase
public Alumno(String nombre) {
// Las cosas que queremos que se ejecuten
// cuando creamos la clase
// this.nombre es el nombre del objeto
// nombre es el parámetro que le pasamos
this.nombre = nombre;
notas = new ArrayList<Integer>();
}
public Alumno() {
// Llamando a la sobrecarga del constructor
this("anonimo");
}
public int ponNota(int nota) {
// Me aseguro de que mis notas están entre 0 10
if (nota > 0 && nota <= 10) {
notas.add(nota);
}
return notas.size();
}
public double media() {
double total = 0;
// Desde dentro de la clase si que puedo acceder
for (int nota : notas) {
total += nota;
}
return total / this.notas.size();
}
}
public static void main(String[] args) {
ArrayList<Alumno> alumnos=importar("archivo.txt");
System.out.println(estadoCarpeta("c:\\pepe"));
ArrayList<String> nombres = new ArrayList<>();
Scanner sc = new Scanner(System.in);
for (int i = 0; i < 5; i++) {
System.out.println("Introduce nombre " + i);
nombres.add(sc.next());
}
Path path = Paths.get("nombres.txt");
try {
Files.write(path, nombres, StandardOpenOption.CREATE);
} catch (IOException e) {
System.out.println(e.getMessage());
}
}
public static int estadoCarpeta(String ruta) {
Path path = Paths.get(ruta);
if (!Files.isDirectory(path)) {
return -1;
}
try {
List<Path> ficheros = Files.list(path).collect(Collectors.toList());
if (ficheros.size() == 0) {
return 0;
}
// TODO: Crear un método aparte
for (Path fichero : ficheros) {
if (Files.isDirectory(fichero)) {
return 2;
}
}
return 1;
} catch (IOException e) {
System.out.println(e.getMessage());
return -1;
}
}
public static ArrayList<Alumno> importar(String ruta) {
List<String> contenido;
// Leer fichero
Path path = Paths.get(ruta);
try {
contenido = Files.readAllLines(path);
} catch (Exception ex) {
System.out.println(ex.getMessage());
return null;
}
// Crear arraylist
/*
* Nombre;nota Ana;5;6;7 Pep;3;3 Eva;5;5
*/
ArrayList<Alumno> alumnos= new ArrayList<Alumno>();
for(int i=1;i<contenido.size();i++) {
String[] elementos=contenido.get(i).split(";");
Alumno temp=new Alumno(elementos[0]);
for(int j=1;j<elementos.length;j++) {
temp.ponNota(Integer.parseInt(elementos[j]));
}
alumnos.add(temp);
}
return alumnos;
}
public class Jugador {
private String nombre;
private ArrayList<Carta> mano;
public Jugador(String nombre) {
super();
this.nombre = nombre;
mano = new ArrayList<>();
}
protected String getNombre() {
return nombre;
}
protected void setNombre(String nombre) {
this.nombre = nombre;
}
protected ArrayList<Carta> getMano() {
return mano;
}
protected void setMano(ArrayList<Carta> mano) {
this.mano = mano;
}
protected void setMano(Carta carta) {
this.mano.add(carta);
}
@Override
public String toString() {
return "Jugador [nombre=" + nombre + ", mano=" + mano + "]";
}
public void logFichero(String ruta) {
ArrayList<String> resultado = new ArrayList<>();
// Un arraylist con los datos que quiero escribir
resultado.add("Nombre jugador: " + this.getNombre());
resultado.add("Cartas:");
for (Carta carta : mano) {
resultado.add(carta.toString());
}
// Escribir los datos
try {
Path path = Paths.get(ruta);
if (!Files.exists(path)) {
Files.createFile(path);
}
if (Files.isWritable(path)) {
Files.write(path, resultado, StandardOpenOption.TRUNCATE_EXISTING);
}else {
// TODO: Lanzar excepción
System.out.println("No se puede escribir");
}
} catch (IOException e) {
System.out.println(e.getMessage());
}
}
}
public static void main(String[] args) {
Jugador ana=new Jugador("Ana Pi");
ana.setMano(new Espanyola("oros",12));
ana.setMano(new Espanyola("espadas",6));
ana.setMano(new Espanyola("copas",8));
ana.setMano(new Espanyola("oros",10));
ana.logFichero("cartas_ana.txt");
}
File, Files y Path
public static void main(String[] args) {
File carpeta = new File("c:\\xampp");
exploreDirectory(carpeta);
}
public static void exploreDirectory(File directory) {
// Obtiene una lista de los archivos y directorios contenidos en el directorio
File[] files = directory.listFiles();
// Recorre cada archivo o directorio
for (File file : files) {
if (file.isFile()) {
// Si es un archivo, imprime su nombre
System.out.println(file.getName());
} else if (file.isDirectory()) {
// Si es un directorio, llama recursivamente al método
exploreDirectory(file);
}
}
}
Path path = Paths.get("C:/pepe/ejemplo.jpeg");
System.out.println(path.getFileName());
System.out.println(path.getName(0));
System.out.println(path.getParent());
System.out.println(path.getRoot());
path = Paths.get("archivo.txt");
System.out.println(path.getFileName());
System.out.println(path.getName(0));
System.out.println(path.getParent());
System.out.println(path.toAbsolutePath());
public static void main(String[] args) throws IOException {
Path path = Paths.get("c:\\pepe\\archivo.txt");
String cadena="o muy bien\n";
Files.writeString(path, cadena,StandardOpenOption.APPEND );
ArrayList<String> texto=new ArrayList<>(Arrays.asList("adios","hola","que tal"));
Files.write(path, texto, StandardCharsets.ISO_8859_1,StandardOpenOption.TRUNCATE_EXISTING);
try {
List<String> contenido = Files.readAllLines(path);
for(String linea:contenido)
{
System.out.println(linea);
}
} catch (IOException e) {
System.out.println(e);
}
}
public static void main(String[] args) {
Path path = Paths.get("c:\\pepe\\archivo2.txt");
ArrayList<String> texto=new ArrayList<>(Arrays.asList("adios","hola","qué tal"));
try {
Files.write(path, texto, StandardCharsets.ISO_8859_1,StandardOpenOption.CREATE_NEW);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void main(String[] args) {
try {
Path path = Paths.get("c:\\pepe\\archivo.txt");
List<String> contenido=Files.readAllLines(path,StandardCharsets.ISO_8859_1);
for(String linea:contenido)
{
System.out.println(linea);
}
}catch(Exception ex) {
System.out.println(ex.getMessage());
}
}
Ejercicio Cartas
package com.trifulcas.cartas;
public abstract class Carta {
private String palo;
private int numero;
public Carta(String palo, int numero) {
this.palo = palo;
this.numero = numero;
}
protected String getPalo() {
return palo;
}
protected void setPalo(String palo) {
this.palo = palo;
}
public int getNumero() {
return numero;
}
protected void setNumero(int numero) {
this.numero = numero;
}
public abstract int getValor();
@Override
public String toString() {
return getNumero()+" de "+getPalo();
}
}
package com.trifulcas.cartas;
public class Espanyola extends Carta {
public Espanyola(String palo, int numero) {
super(palo, numero);
// TODO Auto-generated constructor stub
}
@Override
public int getValor() {
return getNumero()<10?getNumero():10;
}
}
package com.trifulcas.cartas;
public class Francesa extends Carta {
public Francesa(String palo, int numero) {
super(palo, numero);
// TODO Auto-generated constructor stub
}
@Override
public int getValor() {
// TODO Auto-generated method stub
return getNumero();
}
}
package com.trifulcas.cartas;
import java.util.ArrayList;
import java.util.Collections;
public abstract class Baraja {
protected ArrayList<Carta> baraja = new ArrayList<>();
public Baraja() {
/*
baraja.add(new Espanyola("oros",1));
baraja.add(new Espanyola("oros",2));
baraja.add(new Espanyola("oros",3));
baraja.add(new Espanyola("oros",4));
baraja.add(new Espanyola("copas",7));
*/
}
public void desordenar() {
Collections.shuffle(baraja);
}
public Carta repartir() {
if (baraja.isEmpty()) {
return null;
} else {
return baraja.removeFirst();
}
}
@Override
public String toString() {
return "Baraja [baraja=" + baraja + "]";
}
public abstract void crearMazo();
}
package com.trifulcas.cartas;
import java.util.ArrayList;
import java.util.Arrays;
public class BarajaEspanyola extends Baraja {
@Override
public void crearMazo() {
ArrayList<Integer> numeros=new ArrayList<>(Arrays.asList(1,2,3,4,5,6,7,10,11,12));
ArrayList<String> palos=new ArrayList<>(Arrays.asList("Oros","Copas","Espadas","Bastos"));
baraja.clear();
for(int numero: numeros) {
for(String palo: palos) {
baraja.add(new Espanyola(palo,numero));
}
}
}
}
package com.trifulcas.cartas;
import java.util.ArrayList;
import java.util.Arrays;
public class BarajaFrancesa extends Baraja {
@Override
public void crearMazo() {
ArrayList<Integer> numeros=new ArrayList<>(Arrays.asList(1,2,3,4,5,6,7,8,9,10,11,12,13));
ArrayList<String> palos=new ArrayList<>(Arrays.asList("Picas","Tréboles","Corazones","Diamantes"));
baraja.clear();
for(int numero: numeros) {
for(String palo: palos) {
baraja.add(new Francesa(palo,numero));
}
}
}
}
package com.trifulcas.cartas;
import java.util.ArrayList;
public class Jugador {
private String nombre;
private ArrayList<Carta> mano;
public Jugador(String nombre) {
super();
this.nombre = nombre;
mano=new ArrayList<>();
}
protected String getNombre() {
return nombre;
}
protected void setNombre(String nombre) {
this.nombre = nombre;
}
protected ArrayList<Carta> getMano() {
return mano;
}
protected void setMano(ArrayList<Carta> mano) {
this.mano = mano;
}
protected void setMano(Carta carta) {
this.mano.add(carta);
}
@Override
public String toString() {
return "Jugador [nombre=" + nombre + ", mano=" + mano + "]";
}
}
package com.trifulcas.cartas;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
public class Poquer {
ArrayList<Jugador> jugadores;
BarajaFrancesa baraja;
public Poquer(ArrayList<Jugador> jugadores) throws Exception {
if (jugadores.size()>10 || jugadores.size()<2) {
throw new Exception("Número de jugadores incorrecto");
}
this.jugadores=jugadores;
baraja=new BarajaFrancesa();
baraja.crearMazo();
}
public Jugador jugar() {
baraja.desordenar();
for(Jugador j:jugadores) {
for(int i=0;i<5;i++) {
j.setMano(baraja.repartir());
}
}
return getGanador();
}
public Jugador getGanador() {
// poker: 4 cartas iguales
// full: 3 cartas iguales y dos iguales
// trio: 3 cartas iguales
// doble pareja: 2 y 2
// pareja: 2 cartas iguales
for (Jugador j:jugadores) {
System.out.println(j);
System.out.println(contarCartas(j.getMano()));
}
return jugadores.get(0);
}
public HashMap<Integer,Integer> contarCartas(ArrayList<Carta> cartas){
HashMap<Integer,Integer> res=new HashMap<Integer,Integer>();
for(Carta c:cartas) {
res.put(c.getValor(), Collections.frequency(cartas.stream().map(Carta::getValor).toList(), c.getValor()));
}
return res;
}
}
package com.trifulcas.cartas;
import java.util.ArrayList;
public class ProbarCartas {
public static void main(String[] args) {
// TODO Auto-generated method stub
Baraja miBaraja=new BarajaFrancesa();
miBaraja.crearMazo();
System.out.println(miBaraja);
Carta c=miBaraja.repartir() ;
Jugador j=new Jugador("Ana");
System.out.println(j);
System.out.println(c);
System.out.println(miBaraja);
miBaraja.desordenar() ;
ArrayList<Jugador> jugadores=new ArrayList<>();
jugadores.add(j);
jugadores.add(new Jugador("Eva"));
try {
Poquer test=new Poquer(jugadores);
test.jugar();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(miBaraja);
}
}
Ejercicios Interfaces
package com.trifulcas.Interfaces;
public interface ISaludo {
public String saludar();
}
package com.trifulcas.Interfaces;
public interface IDespedida {
public String adios();
}
package com.trifulcas.Interfaces;
public class Amigo1 implements ISaludo {
@Override
public String saludar() {
// TODO Auto-generated method stub
return "Ola k ase???";
}
}
package com.trifulcas.Interfaces;
public class Amigo2 implements IDespedida{
@Override
public String adios() {
// TODO Auto-generated method stub
return "Adios con el corazón";
}
}
package com.trifulcas.Interfaces;
public class Amigo1 implements ISaludo {
@Override
public String saludar() {
// TODO Auto-generated method stub
return "Ola k ase???";
}
}
package com.trifulcas.Interfaces;
public class Amigo2 implements IDespedida{
@Override
public String adios() {
// TODO Auto-generated method stub
return "Adios con el corazón";
}
}
package com.trifulcas.Interfaces;
public class Amigo3 implements ISaludo, IDespedida {
@Override
public String adios() {
// TODO Auto-generated method stub
return "Hasta luego Lucas";
}
@Override
public String saludar() {
// TODO Auto-generated method stub
return "Como están los máquinas?";
}
}
package com.trifulcas.Interfaces;
public interface ITotal {
public int total();
}
package com.trifulcas.Interfaces;
import java.util.ArrayList;
import com.trifulcas.cartas.Carta;
public class Notas implements ITotal {
private ArrayList<Integer> notas;
public Notas() {
notas=new ArrayList<>();
}
public int addNumero(int nota) {
notas.add(nota);
return notas.size();
}
@Override
public int total() {
int total=0;
for(int nota:notas) {
total+=nota;
}
return total;
}
}
package com.trifulcas.Interfaces;
import java.util.ArrayList;
public class Alumno implements ITotal, ISaludo {
public ArrayList<String> alumnos;
public Alumno() {
alumnos=new ArrayList<>();
}
@Override
public String saludar() {
return "Hola "+(alumnos.size()>0?alumnos.get(0):"");
}
@Override
public int total() {
// TODO Auto-generated method stub
return alumnos.size();
}
}
package com.trifulcas.Interfaces;
public interface IFigura {
public void dibujar();
}
package com.trifulcas.Interfaces;
public interface IFigura2D extends IFigura {
public double area();
}
package com.trifulcas.Interfaces;
public interface IFigura3D extends IFigura2D{
public double volumen();
}
package com.trifulcas.Interfaces;
public class Cuadrado implements IFigura2D {
private double lado;
protected double getLado() {
return lado;
}
protected void setLado(double lado) {
this.lado = lado;
}
public Cuadrado(double lado) {
this.lado=lado;
}
@Override
public double area() {
// TODO Auto-generated method stub
return lado*lado;
}
@Override
public void dibujar() {
System.out.println("Cuadrado");
}
}
Cartas Java
package com.trifulcas.cartas;
public abstract class Carta {
private String palo;
private int numero;
protected String getPalo() {
return palo;
}
protected void setPalo(String palo) {
this.palo = palo;
}
public int getNumero() {
return numero;
}
protected void setNumero(int numero) {
this.numero = numero;
}
public abstract int getValor();
@Override
public String toString() {
return getNumero()+" de "+getPalo();
}
}
package com.trifulcas.cartas;
public class Espanyola extends Carta {
@Override
public int getValor() {
return getNumero()<10?getNumero():10;
}
}
package com.trifulcas.cartas;
public class Francesa extends Carta {
@Override
public int getValor() {
// TODO Auto-generated method stub
return getNumero();
}
}
package com.trifulcas.cartas;
import java.util.ArrayList;
public class Baraja {
private ArrayList<Carta> baraja=new ArrayList<>();
public int addCarta(Carta carta) {
baraja.add(carta);
return baraja.size();
}
public int totalValor() {
int total=0;
for(Carta c:baraja) {
total+=c.getValor();
}
return total;
}
}
package com.trifulcas.cartas;
public class ProbarCartas {
public static void main(String[] args) {
// TODO Auto-generated method stub
Francesa f= new Francesa();
f.setPalo("Picas");
f.setNumero(8);
System.out.println(f);
Baraja miBaraja=new Baraja();
miBaraja.addCarta(f);
Espanyola e=new Espanyola();
e.setPalo("Oros");
e.setNumero(12);
miBaraja.addCarta(e);
System.out.println(miBaraja.totalValor());
}
}
Clases Figuras
package com.trifulcas.figuras;
public abstract class Figura {
private String nombre;
public abstract void dibujar();
protected String getNombre() {
return nombre;
}
protected void setNombre(String nombre) {
this.nombre = nombre;
}
}
package com.trifulcas.figuras;
public abstract class Figura2D extends Figura {
public abstract double area();
}
package com.trifulcas.figuras;
public abstract class Figura3D extends Figura2D{
public abstract double volumen();
}
package com.trifulcas.figuras;
public class Cuadrado extends Figura2D {
private double lado;
protected double getLado() {
return lado;
}
protected void setLado(double lado) {
this.lado = lado;
}
public Cuadrado(double lado) {
this.lado=lado;
}
@Override
public double area() {
// TODO Auto-generated method stub
return lado*lado;
}
@Override
public void dibujar() {
System.out.println("Cuadrado");
}
}
package com.trifulcas.figuras;
public class Circulo extends Figura2D {
private double radio;
protected double getRadio() {
return radio;
}
protected void setRadio(double radio) {
this.radio = radio;
}
public Circulo(double radio) {
this.radio = radio;
}
@Override
public double area() {
return Math.PI*radio*radio;
}
@Override
public void dibujar() {
System.out.println("Círculo");
}
}
package com.trifulcas.figuras;
public class Cubo extends Figura3D {
private double lado;
protected double getLado() {
return lado;
}
protected void setLado(double lado) {
this.lado = lado;
}
public Cubo(double lado) {
this.lado = lado;
}
@Override
public double volumen() {
return Math.pow(lado, 3);
}
@Override
public double area() {
// Se puede hacer más sencillo pero así también
// Ojo que acoplamos cubo a cuadrado
Cuadrado c=new Cuadrado(lado);
return c.area() * 6;
}
@Override
public void dibujar() {
System.out.println("Cubo");
}
}
package com.trifulcas.figuras;
public class Esfera extends Figura3D {
private double radio;
protected double getRadio() {
return radio;
}
protected void setRadio(double radio) {
this.radio = radio;
}
public Esfera(double radio) {
this.radio = radio;
}
@Override
public double volumen() {
return 4/3*Math.PI*Math.pow(radio, 3);
}
@Override
public double area() {
return 4*Math.PI*Math.pow(radio, 2);
}
@Override
public void dibujar() {
// TODO Auto-generated method stub
}
}
Cuadrado c=new Cuadrado(2);
System.out.println(c.area());
Circulo ci=new Circulo(1);
System.out.println(ci.area());
Cubo cu=new Cubo(2);
System.out.println(cu.area());
System.out.println(cu.volumen());
Esfera e=new Esfera(1);
System.out.println(e.area());
System.out.println(e.volumen());
Y más ejemplos interfaces
public interface IGirar {
public void izquierda();
public void derecha();
}
public interface IAvanzar {
public void adelante();
public void atras();
}
public interface IVertical {
public void arriba();
public void abajo();
}
public class Tren implements IAvanzar {
@Override
public void adelante() {
// TODO Auto-generated method stub
}
@Override
public void atras() {
// TODO Auto-generated method stub
}
}
public class Coche implements IAvanzar, IGirar {
@Override
public void izquierda() {
// TODO Auto-generated method stub
}
@Override
public void derecha() {
// TODO Auto-generated method stub
}
@Override
public void adelante() {
// TODO Auto-generated method stub
}
@Override
public void atras() {
// TODO Auto-generated method stub
}
}
public class Torreta implements IGirar {
@Override
public void izquierda() {
// TODO Auto-generated method stub
}
@Override
public void derecha() {
// TODO Auto-generated method stub
}
}
public class Helicoptero implements IAvanzar, IGirar, IVertical {
@Override
public void arriba() {
// TODO Auto-generated method stub
}
@Override
public void abajo() {
// TODO Auto-generated method stub
}
@Override
public void izquierda() {
// TODO Auto-generated method stub
}
@Override
public void derecha() {
// TODO Auto-generated method stub
}
@Override
public void adelante() {
// TODO Auto-generated method stub
}
@Override
public void atras() {
// TODO Auto-generated method stub
}
}
Ejemplos Interfaces
public interface IVolar {
public void volar();
}
public interface INadar {
public void nadar();
}
public interface ICorrer {
public void correr();
}
public interface IActivo {
public boolean esActivo();
}
public interface ISaludo {
public void hola();
public void adios();
}
public class Delfin implements INadar, IActivo{
@Override
public void nadar() {
System.out.println("Soy un delfín nadando en el inmenso mar");
}
@Override
public boolean esActivo() {
// TODO Auto-generated method stub
return true;
}
}
public class Pato implements IVolar, ICorrer, INadar, IActivo{
@Override
public void nadar() {
System.out.println("Pato Nadando");
}
@Override
public void correr() {
System.out.println("Corriendo");
}
@Override
public void volar() {
System.out.println("Volando");
}
@Override
public boolean esActivo() {
// TODO Auto-generated method stub
return true;
}
}
public class Submarino implements INadar, IActivo {
@Override
public void nadar() {
System.out.println("Inmersión!!");
}
@Override
public boolean esActivo() {
// TODO Auto-generated method stub
return false;
}
}
public static void main(String[] args) {
// El mismo polimorfismo que teniamos con la herencia
// Lo tenemos con los interfaces
ArrayList<INadar> cosas = new ArrayList<>();
comprobar(new Delfin());
comprobar(new Pato());
comprobar(new Submarino());
List<String> alumnos = new ArrayList<String>();
Saludos pepe=new Saludos();
pepe.hola();
ISaludo ana=new Saludos();
ana.adios();
}
public static void comprobar(IActivo elemento) {
if (elemento.esActivo()) {
System.out.println("A tope con la actividad");
}
}