Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Dúvida sobre uso de métodos e getters e setters

Poderiam fazer uma avaliação sobre meu projeto? É só um projeto pequeno que fiz para treinar, mas queria saber o que posso melhorar em relação a classe, se é necessário usar geters e setters, etc.

Programa: Cadastrar alunos de certa matéria e sua nota.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Exercicio4
{
    class Program
    {
        static void Main(string[] args)
        {
            int i=0;
            Aluno[] alunos = new Aluno[5];


            while (i < 5)
            {
                string nome, matricula, materia;
                double nota;

                Console.Write("Nome: ");
                nome = Console.ReadLine();

                Console.Write("Matricula: ");
                matricula = Console.ReadLine();

                Aluno aluno = new Aluno(nome, matricula);

                Console.Write("Materia: ");
                materia = Console.ReadLine();

                Console.Write("Nota: ");
                nota = Convert.ToDouble(Console.ReadLine());

                aluno.DarNota(materia, nota);

                Console.WriteLine("*******************");
                Console.WriteLine();

                alunos[i] = aluno;
                i++;
            }

    //parte do código para imprimir os dados para verificar se está tudo certo
            /*i = 0;
            while (i < 5)
            {

                Console.WriteLine("Aluno {0} ", alunos[i].getNome());
                Console.WriteLine("Matricula {0} ", alunos[i].getMatricula());
                Console.WriteLine("Materia {0} ", alunos[i].getMateria());
                Console.WriteLine("Nota {0} ", alunos[i].getNota());
                i++;
            }*/



            Console.ReadKey();
        }
    }
}

Classe:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Exercicio4
{
    class Aluno
    {
        private string Nome;
        private string Matricula;
        private string Materia;
        private double Nota;

        public Aluno(string nome, string matricula)
        {
            Nome = nome;
            Matricula = matricula;
        }

        public void DarNota(string materia, double nota)
        {
            Materia = materia;
            Nota = nota;
        }

        public string getNome()
        {
            return Nome;
        }

        public string getMateria()
        {
            return Materia;
        }

        public string getMatricula()
        {
            return Matricula;
        }

        public double getNota()
        {
            return Nota;
        }
    }
}
2 respostas
solução!

O código está bom! De fato utilizando getters e setters você teria algo um pouco mais limpo e menos verboso, então se quiser pode implementar que vai ficar bacana! Outra coisa é o seu while, quando um laço de repetição tiver a estrutura de rodar com um incrementador (e sendo essa a sua condição de parada), fica mais legível utilizar um FOR.

Minha dúvida era em relação ao get e set mesmo. Vou tentar implementar aqui, e vou fazer a mudança do laço de repetição que vc sugeriu. Muito obrigado!!