Olá senhores, gostaria de saber o como a classe "Form1" consegue "enxergar" a classe "Cliente", já que na declaração da classe a mesma não está como public - "class Conta".
Obrigado pela atenção!
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace CaixaEletronico
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Conta contaGuilherme = new Conta();
contaGuilherme.Numero = 1;
contaGuilherme.Deposita(1500.0);
Cliente clienteGuilherme = new Cliente("Guilherme");
clienteGuilherme.idade = 18;
contaGuilherme.Titular = clienteGuilherme;
bool sacou = contaGuilherme.Saca(300.0);//testando idade
if (sacou)
{
MessageBox.Show("Saldo da Conta do Guilherme após saque: " + contaGuilherme.Saldo);
}
else
{
MessageBox.Show("Não foi possível sacar da conta do Guilherme");
}
}
}
}
namespace CaixaEletronico
{
class Conta
{
public int Numero { get; set; }
public Cliente Titular { get; set; }
public double Saldo { get; private set; }
public void Deposita(double valorASerDepositado)
{
if (valorASerDepositado > 0)
{
this.Saldo += valorASerDepositado;
}
}
public bool Saca(double valorASerSacado)
{
if (valorASerSacado > this.Saldo || valorASerSacado < 0)
{
return false;
}
else
{
if (this.Titular.EhMaiorDeIdade())
{
this.Saldo -= valorASerSacado;
return true;
}
else
{
if (valorASerSacado <= 200)
{
this.Saldo -= valorASerSacado;
return true;
}
else
{
return false;
}
}
}
}
public void Transfere(double valor, Conta destino)
{
this.Saca(valor);
destino.Deposita(valor);
}
public double CalculaRendimentoAnual()
{
double saldoNaqueleMes = this.Saldo;
for (int i = 0; i < 12; i++)
{
saldoNaqueleMes = saldoNaqueleMes * 1.007;
}
double rendimento = saldoNaqueleMes - this.Saldo;
return rendimento;
}
}
}