Olá pessoal, por favor me ajudem com uma dúvida em relação a Python OO.
1 - É possível declarar as propriedades de uma classe sem ter a obrigatoriedade de inicializa-los com algum valor? 2 - É obrigatório declarar os atributos dentro de uns construtor ou pode ser fora também?
Por exemplo na Classe Conta que segue como exemplo, eu só quero setar os atributos a partir do método criar_conta() e não pelo construtor, como eu implementaria este caso?
class Conta:
def __init__(self):
self._agencia
self._conta
self._senha
self._saldo
self._tipo_corrente
self._tipo_poupanca
def criar_conta(self, agencia, conta, senha):
self._agencia = agencia
self._conta = conta
self._senha = senha
Digo isso, pois em outros linguagens Ex:PHP, é possível declarar os atributos sem valores iniciais e não há necessidade de envidar dados toda vez que uma classe é instanciada.
<?php
class Conta{
private $agencia;
private $conta;
private $senha;
private $saldo;
private $tipoCorrente;
private $tipoPoupanca;
}
function __construct(){}
function criarConta($agencia, $conta, $senha){
$this.agencia = $agencia;
$this.conta = $conta;
$this.senha = $senha;
}
Gostaria de fazer algo parecido com isto no Python:
cc = Conta()
cc.criar_conta(123,049754,'sdf123')
Obrigado.