Dúvida de Iniciante

3 respostas
C

Pessoal, estou iniciando na programação com Java, andei estudando a apostila fj11-Caleum. Sendo que estou com algumas dúvidas:

Criei o projeto juntamente com seu pacote e classes.
Estou criando uma classe Pessoa(super class) qual pessoaFisica e pessoaJuridica vao herdar os dados básicos.

Class Pessoa

package Pessoa;
 
public class meuCliente {
	
	private String sexo;
	private String nome;
	private int idade;  

/*É necessário ter os getters e setters para esse tipo de serviço?
já que criei como private, desejo apenas que herdem dessa classe.8

Preciso fazer passagem de parâmetros abaixo desses métodos ou devo inserir na outra class?*/

public void setSexo(String sexo) {
	this.sexo = sexo;
		}
	public String getSexo() {
		return sexo;
	}
	public void setNome(String nome) {
		this.nome = nome;
	}
	public String getNome() {
		return nome;
	}
	public void setIdade(int idade) {
		this.idade = idade;
	}
	public int getIdade() {
		return idade;
	}
	
}
package Pessoa;

public class clienteFisico extends meuCliente {

		public static void main(String[] args) {
		
			meuCliente nome = new meuCliente();
			nome.setNome("Carlos Henrique");
			System.out.println("Nome: ");
			System.out.println(nome.getNome());
			
			meuCliente idade = new meuCliente();
			idade.setIdade(21);
			System.out.println("Idade: ");
			System.out.println(idade.getIdade());
			
			meuCliente sexo = new meuCliente();
			sexo.setSexo("Masculino");
			System.out.println("Sexo: ");
			System.out.println(sexo.getSexo());
	}

}
/*Criei os métodos para conferir se estava tudo correto, sendo que precisarei de criar um repositório, mas ainda não sei como fazer para o usuário inserir os nomes e referencias*/

Postei porque não encontrei um tutorial qual tire a dúvida heheh..
Bom pessoa, gostaria de um esclarecimento se estou indo certo. Aprender OO de início é meio complicado, mas já estou tomando base do que se trata.
Valeu!

3 Respostas

romarcio

Em primeiro lugar você não criou um classe Pessoa, vc criou um pacote Pessoa.

Uma classe pessoa, se chamaria Pessoa e não meuCliente. Outra coisa, toda classe em Java deve começar com letra maiúscula e não minúscula. Então sua classe deveria ser MeuCliente. Os pacotes sim por padrão são com letras minúsculas.

Vc criou os atributos como private, então eles são exclusivamente acessados apenas pela classe que os contém, mesmo que você herde essa classe, esses atributos não serão visíveis para as outras classes. Para isso, você cria os métodos get e set desses atributos, e dai vai ter acesso a eles quando herdar ou quando apenas fizer um instância da classe.

C

@Romarcio obrigado!

na velocidade de digitar pus Class pessoa em vez de Package.

Bom saber que devo iniciar com letras maiúsculas!
Sobre os atributos estarem em private eu entendo que serão vistos apenas pela class qual contém,
mas minha dúvida é que se posso herdar mesmo assim para outras classes tal como fiz na class clienteFisico

romarcio

Como eu disse, para herda-los você precisa gerar os métodos get e set deles. É assim que se faz, o que chamamos de encapsulamento. Você não deve dar acesso a sua variável, por isso se cria ela como private. Então encapsulamos as variareis criando os métodos acessores(get) e modificadores(set).
Quando você herda uma classe, então você passa a ter acesso a todos os métodos public ou protected da classe herdada, sem precisar criar uma instância dela para “enxergar” os métodos.

Criado 24 de fevereiro de 2011
Ultima resposta 24 de fev. de 2011
Respostas 3
Participantes 2