Inciante , funcao

6 respostas
D
private String owner;

private int size;

private boolean hatOn=false;

// Constructor to create a Hat object

public Hat(String person, int theSize) {

size = theSize; // Set the hat size

owner = person; // Set the hat owner

}

// Method to put the hat on

public void putHatOn() {

hatOn = true; // Record hat status as on

}

// Method to put the hat on

public void putHatOn() {

hatOn = false; // Record hat status as off

}

// Method to change the owner

public void changeOwner(String newOwner) {

owner = newOwner;

}

public void changeOwner(String newOwner) , podemos usar public void mudar(String newOwner), porque tem de ser assim???

// Method to get the hat size
public int getSize() {
return size; // Return the size of the hat

porque tem de ser public int getSize, pode ser public int tamanho??
ou o nome obdece a algum parametro ou regra?

6 Respostas

clodoaldoaleixo

public, private são modificadores de acesso, vc usa para definir o que pode ser acessado de fora na sua classe ou não…

private permite acesso somente dentro da própria classe.
public permite acesso dentro da mesma classe, pacote, enfim o acesso é publico.

Essa sua classe está definida dentro das boas práticas de programação, ou seja não permitir que os atributos da classe sejam acessados diretamente.

Arcadex

Dapim, sua pergunta n foi muito clara.

Vc perguntou o pq do método getSize ser público ?
Isso é uma opção, uma boa prática, uma necessidade qualquer e não uma obrigação. Se vc usar esse método em outra classe ela TEM que ser publica ou protect (dependendo de onde é usada).

Vc tem q estudar o que são e para que servem os modificadores.
Abraço.

H

dapim…

Você escolhe o nome que deseja dar… na verdade você vai aprender que existe uma metodologia, quase um padrão, que chamamos de getters e setters… os métodos GET buscam uma informação, um valor de variável, e os métodos SET enviam essa informação para armazenamento por exemplo em uma variável…

o método getSize deve retornar o size (tamanho), você pode chamar de getTamanho como pipocaNaoTemAntena, é só nomenclatura.
assim como, mantendo o padrao, o setSize ( int size ) deduz-se que é um método que seta (configura) o tamanho com o valor enviado por parâmetro (int size)…

acho que era essa sua dúvida né?

augusto_ab

// Method to put the hat on public void putHatOn() { hatOn = true; // Record hat status as on } // Method to put the hat on public void putHatOn() { hatOn = false; // Record hat status as off }

…você está declarando o método duas vezes na mesma classe… mude o nome de um dos métodos que funciona…

…quanto aos nomes você pode usar o que preferir… :slight_smile:

Y

Eu acho que a pergunta dele foi calara sim, ele só quer saber pq o método chama-se getSize() ao invés de pegaTamanho() ou tamanho()

Cara, primeiro: size está sendo usado pq foi uma classe possivelmente escrita por um americano, sei lá, mas pode sim ser tamanho(), como você quiser.

O fato de começar com get, é que essa é uma boa prática de programação, onde métodos que retornam algum valor, devem começar com get, e métodos que “configuram” um valor devem começar com set.

Quanto ao citado anteriormente por um usuário, a questão não é que tu estejas declarando dois métodos com o mesmo nome, é que acredito que na hora de copiar a classe de um lugar a outro tu deves ter alterado o nome do método, o correto seria:

// Method to put the hat on
public void putHatOn() {
hatOn = true; // Record hat status as on
}
// Method to put the hat off
public void putHatOff() {
hatOn = false; // Record hat status as off

Creio que tu tenhas copiado/colado o cabeçalho do método sem se dar por conta de que a palavra “on” era alterada para “off”.

D

obrigado pelos vossos esclarecimentos []

Criado 5 de janeiro de 2007
Ultima resposta 6 de jan. de 2007
Respostas 6
Participantes 6