Olá,
estou fazendo um jogo de blackjack, tenho a classe Baralho, e a classe JogoDeBlackJack. Eu tentei criar um TipoBaralho, para poder usar outros baralhos, porém os métodos que eram da Classe Baralho, não estão disponíveis. O que eu poderia fazer?
Fala ai jooooao td blz??
Acredito que seja essa sua duvida, e proponho a seguinte solução:
A classe TipoBaralho herda a Classe Baralho (assim os metodos de Baralho ficam disponiveis para TipoBaralho)
A classe JogoDeBlackJack é composta das classes TipoBaralho, Jogador e Dealer --> Composição
Para exemplo coloquei a classe Main para ver como chamar os metodos das classes.
Classe Baralho
Classe TipoBaralho (não sei quais sao os atributo nem métodos mas simulei alguns para melhor entendimento).
publicclassTipoBaralhoextendsBaralho{privateStringcor;privateStringgramatura;//ConstrutorpublicTipoBaralho(){}//Gets e SetspublicStringgetCor(){returncor;}publicvoidsetCor(Stringcor){this.cor=cor;}publicStringgetGramatura(){returngramatura;}publicvoidsetGramatura(Stringgramatura){this.gramatura=gramatura;}}
Classe JogoDeBlackJack
publicclassJogoDeBlackJack{privateTipoBaralhotipobaralho;privateJogadorjogador;privateDealerdealer;//ConstrutorpublicJogoDeBlackJack(){tipobaralho=newTipoBaralho();jogador=newJogador();dealer=newDealer();}//Gets e SetspublicDealergetDealer(){returndealer;}publicvoidsetDealer(Dealerdealer){this.dealer=dealer;}publicJogadorgetJogador(){returnjogador;}publicvoidsetJogador(Jogadorjogador){this.jogador=jogador;}publicTipoBaralhogetTipobaralho(){returntipobaralho;}publicvoidsetTipobaralho(TipoBaralhotipobaralho){this.tipobaralho=tipobaralho;}}
Classe Jogador
publicclassJogador{privateStringnome;//Gets e SetspublicStringgetNome(){returnnome;}publicvoidsetNome(Stringnome){this.nome=nome;}}
Classe Main
publicclassMain{publicstaticvoidmain(String[]args){JogoDeBlackJackblack=newJogoDeBlackJack();black.getTipobaralho().setCor("azul");//aqui acesso os metodos da classe TipoBaralhoblack.getTipobaralho().setGramatura("100mm");//aqui acesso os metodos da classe TipoBaralhoblack.getTipobaralho().crieBaralho();//aqui acesso os metodos da classe Baralho herdados pela TipoBaralhoblack.getTipobaralho().embaralhe();//aqui acesso os metodos da classe Baralho herdados pela TipoBaralhoblack.getJogador().setNome("Robervaldo");//aqui acesso os metodos da classe Jogador}}