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());
	}

}

Publicado por

Juan Pablo Fuentes

Formador de programación y bases de datos