[RESOLVIDO] Vocês sabem que conceito de poo java eu devo procurar para aprender resolver este problema?

Preciso realizar um trabalho da faculdade, na qual consiste em manipular um personagem virtual em java no NetBeans.
Há uma biblioteca de classes e métodos para eu reaproveitar, no entanto estou com dificuldades no uso. Se tenho uma variável tipo String, double, boolean etc facilmente converto para String e consigo visualizar numa Label do Swing. No entanto há algumas variáveis que possuem outros tipos, como fosse criados. Exemplo:

String sapato;
Double tamanho;
Modelo cor;
Double valor;

vejam, não sei como converter este Modelo, para uma String que seja visível em uma Label.

Como resolvo este problema? E que conceito de POO está sendo implementado?

Supondo que Modelo seja uma classe, quais atributos essa classe possui?

Você pode sobrescrever o método toString() dessa classe e exibir os atributos internos da forma que preferir.

Abraço.

1 curtida

Interessante, então posso declarar uma variável sem colocar o tipo primitivo, e sim, apenas uma classe…
Achei que Modelo foi algum tipo primitivo criado.

Obrigado!

Ué, você não tem aí o código dessa classe Modelo? Se sim, é só olhá-la.

Atributos de classes podem ser formadas tanto por tipos primitivos quando outras classes/objetos. Isso é perfeitamente normal e esperado.

Abraço.

Oi, @XR727. Bem vindo ao GUJ!

Entendi sua dúvida. Então, deixa eu te explicar: Você precisa estudar a base da programação orientada a objetos. O que você acabou de ver é que você pode usar outras classes como atributo/variável. Você vai ver, mais pra frente, que o que você tá usando é um objeto. Logo, a base da POO.

Um dos pilares da POO é abstração. Tente imaginar o mundo real dentro da POO. Vamos criar uma situação onde uma pessoa quer comprar um carro.

De modo muito simplificado, simplista e didático: dentro do mundo POO, tudo se trata de objetos. Logo, tanto a pessoa quanto o carro serão objetos. De alguma forma, eles estarão ligados (afinal, ele está comprando um carro). Essa ligação entre eles será o contrato. Você consegue imaginar, na vida real, uma pessoa indo comprar um carro e assinando um contrato?

Objetos podem (e é raro não ter) terem características. No nosso exemplo, todo objeto pessoa terá como característica um CPF, um nome, uma idade e um contrato, relativo ao carro que ele comprará.

Okay, então sabemos que:

  1. Dentro do mundo POO, tudo é um objeto. Então, uma pessoa também será um objeto.
  2. Esse objeto pode ter características, e a partir daqui as características serão chamadas de atributos.

Como podemos representar um objeto Pessoa com as características CPF, idade, nome e contrato? Precisamos criar a classe Pessoa para isso. Em exemplo:

public class Pessoa {
    String cpf; // representa o cpf da pessoa
    String nome; // representa o nome
    int idade; // representa a idade
    Contrato contrato; //representa o contrato
}

O que tem de diferente ali é o Contrato contrato, certo? Isso por que Contrato também é um objeto, e sendo um objeto, ele tem uma classe que a representa. Essa classe é:

public class Contrato {
    Pessoa pessoa;
    Carro carro;
}

Ou seja, todo objeto Contrato tem como características ter uma Pessoa e um Carro. Faz sentido, não faz? Afinal, na vida real (de modo básico) o Contrato é um papel que diz que X carro pertence a Y pessoa.

E o objeto carro? Será representado pela classe Carro onde terá os atributos que você definir.

Além de atributos, toda classe pode conter métodos. Por exemplo, você faria um método “assinarContrato()” onde você iria iniciar um novo contrato atribuindo o Carro à Pessoa.

Deu pra entender melhor?

Qualquer dúvida, estou à disposição.

[]'s

1 curtida

Agora entendi melhor!
Obrigado!

1 curtida

Ótimo! Se te ajudou já é um começo.

Peço que marque a resposta que mais te ajudou nesse tópico como resolvida. Basta clicar no botão :white_check_mark: na barra de ferramentas da resposta. Assim você ajuda a manter o fórum organizado! :slight_smile:

[]'s

1 curtida