Nesse caso explicado sobre composição, como eu usaria a instancia de um objeto de uma conta e utilizaria os comportamentos de cliente através desse objeto criado, eu fiquei um pouco confuso nessa questão...
Nesse caso explicado sobre composição, como eu usaria a instancia de um objeto de uma conta e utilizaria os comportamentos de cliente através desse objeto criado, eu fiquei um pouco confuso nessa questão...
Não estou acompanhando o curso em questão, mas espero ajudar. Sobre composição, como eu usaria a instancia de um objeto de uma conta e utilizaria os comportamentos de cliente através desse objeto criado Para utilizar os comportamentos de cliente através de um objeto de uma conta, você pode criar uma relação de composição entre as classes Conta e Cliente. A relação de composição indica que um objeto de uma classe é composto por objetos de outra classe, ou seja, um objeto de Conta é composto por um objeto de Cliente. Isso significa que a existência do objeto de Conta depende da existência do objeto de Cliente, mas não o contrário. Para implementar essa relação, você pode criar um atributo na classe Conta que armazena um objeto da classe Cliente. Por exemplo:
class Cliente(val nome: String, val cpf: String) {
var saldo: Double = 0.0
fun adicionarSaldo(valor: Double) {
saldo += valor
}
fun removerSaldo(valor: Double) {
saldo -= valor
}
}
class Conta(val cliente: Cliente) {
fun depositar(valor: Double) {
cliente.adicionarSaldo(valor)
}
fun sacar(valor: Double) {
cliente.removerSaldo(valor)
}
}
Nesse exemplo, a classe Cliente possui os atributos nome e cpf e os métodos adicionarSaldo() e removerSaldo() que manipulam o saldo do cliente. A classe Conta possui um atributo cliente que é do tipo Cliente. Na classe Conta, os métodos depositar() e sacar() utilizam os métodos adicionarSaldo() e removerSaldo() do objeto de Cliente que está armazenado no atributo cliente. Para criar um objeto de Conta e utilizar seus métodos, você pode fazer o seguinte:
fun main() {
val cliente = Cliente("João", "123.456.789-01")
val conta = Conta(cliente)
conta.depositar(100.0)
conta.sacar(50.0)
}
Nesse exemplo, é criado um objeto de Cliente com nome "João" e CPF "123.456.789-01". Em seguida, um objeto de Conta é criado passando o objeto de Cliente como parâmetro. Por fim, são chamados os métodos depositar() e sacar() da conta.