1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Exercicio C#

Discussão em 'Programação' iniciada por Tizaua, 6 de Dezembro de 2018 às 02:16. (Respostas: 10; Visualizações: 430)

  1. Boas!

    Estou neste momento a aprender POO porém perdi o módulo das bases e ando a "safar me" pela internet a aprender cada vez mais.
    Mas deparei me com um exercicio que me está a "baralhar" por não perceber ainda muito bem as bases.
    O exercicio é:

    Criar uma classe Retangulo com:
    Dados privados(comprimento e largura) propriedades dos dados(get e set), métodos (calcular a area e outro para calcular o perimetro e construtores para inciar uma nova instancia sem parametros e outro para iniciar uma nova instancia mas com paramentros...

    Alguém me faz isto para eu tentar perceber como funcionam os metodos, construtores, dados privados etc...? Agradecia, obrigado

    O que eu fiz até agora:

    namespace WindowsFormsApp2
    {
    class Retangulo
    {
    private double comprimento;
    private double largura;

    //Comprimento
    private void setComprimento(double compri)
    {
    this.comprimento = compri;
    }
    private double getComprimento()
    {
    return comprimento;
    }

    //Largura
    private void setLargura(double larg)
    {
    this.largura = larg;
    }
    private double getLargura()
    {
    return largura;
    }

    //AreaR
    public double areaR(double area)
    {
    area = comprimento * largura;
    return area;
    }
    //perimetroR
    public double perimetroR(double perimetro)
    {
    perimetro = 2 * (comprimento + largura);
    return perimetro;
    }
    }
     
    Última edição: 6 de Dezembro de 2018 às 02:35
  2. Slash

    Slash Power Member

    Parece me correcto. Talvez faltem uns this. Mas penso que não é por aí.

    Alguma razão para achares que não está bem?
     
  3. Eu ainda sei fazer umas coisas...
    O meu problema é não saber o que é o quê, dá para me indicares o que são os metodos, construtores etc?? agradecia
     
  4. Slash

    Slash Power Member

    Por acaso não tomei isso em consideração. E realmente não estão aí.

    Mas será algo do género.

    public Rectângulo(int c, int l)
    {
    this. comprimento = c;
    ...
    }

    Mas sem return.

    Instancias como :

    Rectângulo r = new Rectângulo(20,20)

    Acho que já dá para teres uma ideia.
     
  5. HarryZontal

    HarryZontal Power Member

    O contrutor é o metodo que inicializa a classe.
    É o metodo que é chamado quando instancias uma classe.

    Se nao criares um construtor o C# cria um sem argumentos que inicializa tudo por default.
    Podes criar mais que um construtor, desde que os argumentos sejam diferentes.
    Tem sempre o mesmo nome que a classe em si.
    Nao tem tipo de retorno (é implicito que "retorna" uma instancia da classe em que está definido)

    Assim por alto é isto.
     
  6. cconst

    cconst Power Member

    Não me leves mal @Tizaua mas o que tens que fazer antes de resolver este exercício é "investires" cerca de 2 ou 3 horas para perceber como se define um objecto. E depois um pouco mais para entender como se declara esse objecto. Esses são mesmo as bases... o 101 de POO. Se não entenderes isso, vais perder o barco.

    uma pesquisa rápida que fiz sobre OOP (ou POO):
    https://dev.to/lefebvre/oop-101-understanding-classes-343p

    Não descuides a teoria... Vi muita gente no 5 semestre de Eng Inf. a tremer quando o prof pergunta coisas básicas de OOP (que se aprende no 2 semestre). Não queiras ser um deles.
     
  7. MrOverclock

    MrOverclock Power Member

    A mim também me parece tudo correto, faltando só os construtores que foram entretanto colcados depois nuns posts mais à frente.

    Só tenho uma nota a deixar: os this. não são obrigatórios desde que não hajam confusões com os nomes das variáveis. Eu raramente uso this. No entanto são boa prática e não têm nenhuma contra indicação no seu uso.

    Se perdeste as aulas das bases não deixes perder o barco. Há centenas de sites acerca do assunto e vídeos pelo youtube com tutoriais de C#, usa e abusa dessas ferramentas. Qualquer dúvida podes sempre vir aqui perguntar.

    Eu programo C# profissionalmente, se tiveres alguma dúvida coloca por aqui e se eu nem ninguém responder envia-me uma PM a visar-me que venho cá.
     
  8. Há tantos videos que eu nem sei que escolher, consegues me fazer alguma recomendação?

    E muito obrigado a ti e a todos pela ajuda, já consegui finalizar o exercicio e já tenho noção do que é um construtor ao contrário de quando criei o tópico que não fazia ideia do que era!
     
  9. Dá a ideia que estás a tentar focar-te na aprendizagem de uma língua em concreto, mas deves criar um nível de abstração maior primeiro. Há bases que são comuns para muitas linguagens. Neste tema, por exemplo, deves pesquisar as bases de programação orientada a objetos inicialmente, é a minha sugestão. Isto irá beneficiar-te não só a entender o que estás a fazer agora mesmo, bem como quando te aventurares por outras linguagens e etc.
     
  10. MrOverclock

    MrOverclock Power Member

    Também sou da opinião que deves tentar aprender a programar em geral e só depois deves focar-te numa linguagem.

    Mas não te quero desmotivar. Se queres continuar com C# deves começar por safar-te em inglês, depois a própria Microsoft tem tutoriais: mva.microsoft.com. (podes e deves registar-te para seguires mais facilmente os tutoriais). Pesquisa lá por C# Absolute biginner, ou C# Jump Start. Depos relacionado com C# tens lá muita coisa, tanto para web como para Apps ou programas para windows.

    No Youtube conheço este canal: https://www.youtube.com/channel/UCJ3AxeCHGPZkMi3kRfCuiHw
    às vezes os vídeos são uma seca, mas parece-me que o canal é bem estruturado.
     
  11. viperbruno

    viperbruno Power Member

Partilhar esta Página