Ir para conteúdo
Fórum Script Brasil

brunofin

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Sobre brunofin

brunofin's Achievements

0

Reputação

  1. Olá a todos! Sou programador Java e há alguns dias descobri o Python, gostei da linguagem e estou tentando aprender. Estou brincando um pouco com a orientação a objeto do Python para ver o que eu aprendo, e tentei criar um construtor sobrecarregado e deu um erro na hora de executar. Eu fiz o seguinte arquivo Pessoa.py contendo a classe Pessoa: class Pessoa: nome = 0 idade = 0 rg = 0 cpf = 0 def __init__(self): self.setNome("") self.setIdade(0) self.setRg("") self.setCpf("") def __init__(self, nome, idade, rg, cpf): self.setNome(nome) self.setIdade(idade) self.setRg(rg) self.setCpf(cpf) def setNome(self, nome): self.nome = nome def getNome(self): return self.nome def setIdade(self, idade): self.idade = idade def getIdade(self): return self.idade def setRg(self, rg): self.rg = rg def getRg(self): return self.rg def setCpf(self, cpf): self.cpf = cpf def getCpf(self): return self.cpf def __str__(self): return ("Nome: " + self.getNome() + "\nIdade: " + str(self.getIdade()) + "\nRG: " + str(self.getRg()) + "\nCPF: " + str(self.getCpf())) E o arquivo Main.py, que instancia o objeto: import Pessoa print "imprimindo p:\n" p = Pessoa.Pessoa("jose", 23, "00", "11") print p print "imprimindo q:\n" q = Pessoa.Pessoa() print q A saída desse código é a seguinte: bruno@bruno-desktop:~/python/teste1$ python Main.py imprimindo p: Nome: jose Idade: 23 RG: 00 CPF: 11 imprimindo q: Traceback (most recent call last): File "Main.py", line 8, in <module> q = Pessoa.Pessoa() TypeError: __init__() takes exactly 5 arguments (1 given) bruno@bruno-desktop:~/python/teste1$ Existe como criar construtores sobrecarregados em Python? Se existe como eu faço? E aproveitando... Eu fiz os Gets e Sets na minha classe, mas eu não sei como tornar os atributos públicos ou privados. existe como fazer isso?
×
×
  • Criar Novo...