Aprenda C # para Android parte 2: Classes e loops

Autor: John Stephens
Data De Criação: 24 Janeiro 2021
Data De Atualização: 1 Julho 2024
Anonim
Crochet SOSUPLAT - Step by Step CORAL Model / Step by Step American Crochet Set
Vídeo: Crochet SOSUPLAT - Step by Step CORAL Model / Step by Step American Crochet Set

Contente


Na parte um desta série de tutoriais do Android sobre aprendizado de C #, analisamos os fundamentos absolutos da programação em C #. Abordamos métodos (grupos de códigos que executam tarefas específicas), algumas sintaxes básicas (como a necessidade de ponto e vírgula), variáveis ​​(contêineres que armazenam dados) e "instruções if" para controle de fluxo (código de ramificação dependente dos valores de variáveis). Também vimos como passar variáveis ​​como strings como argumentos entre métodos.

Você deve voltar e dar uma olhada nisso, se ainda não o leu.

Nesse ponto, você poderá criar alguns aplicativos básicos de console, como questionários, aplicativos que armazenam dados ou calculadoras.

Na parte dois, ficaremos um pouco mais ambiciosos, cobrindo mais alguns conceitos básicos - como loops - e explorando como criar e interagir com as classes. Isso significa que poderemos começar a tentar o desenvolvimento do Android e ver como preencher essa lacuna. Continue lendo se quiser realmente aprender C #!


Compreendendo classes e programação orientada a objetos

Resumidamente, na parte um, explicamos o básico da Programação Orientada a Objetos, que gira em torno das linguagens usando "classes" para descrever "objetos". Um objeto é um dado, que pode representar muitas coisas. Poderia ser um objeto literal em um mundo de jogo, como uma primavera, ou algo mais abstrato, como um gerente que lida com a pontuação do jogador.

Uma única classe pode criar vários objetos. Então, você pode escrever uma classe "inimiga", mas conseguir gerar um nível inteiro cheio de bandidos. Esse é um dos grandes benefícios do uso de programação orientada a objetos. Caso contrário, a única maneira de lidar com o comportamento de uma infinidade de inimigos seria usar muitos métodos individuais, cada um contendo instruções sobre como o bandido deveria se comportar em diferentes circunstâncias.


Se isso ainda é um pouco difícil de entender, tudo o que você realmente precisa saber é que os objetos têm propriedades e comportamentos. Isto é como objetos reais. Por exemplo, um coelho tem propriedades como tamanho, cor e nome; e tem comportamentos, como pular, sentar e comer. Essencialmente, propriedades são variáveis ​​e comportamentos são métodos.

O programa que construímos na última lição também é um exemplo de classe. O "objeto" que descrevemos aqui é algum tipo de sistema de controle de senha. A propriedade que possui é a sequência UserName e o comportamento é NewMethod (verificando o nome do usuário e cumprimentando-o).

Se isso éainda um pouco confuso, a única maneira de nos convencer é criar uma nova classe ou duas!

Criando uma nova classe

Se você deseja aprender C #, precisa saber como fazer novas aulas. Felizmente, isso é muito fácil. Basta clicar no item de menu Projeto e selecionar "+ Adicionar classe".

Escolha "C #" e chame-o de "Rabbit". Vamos usar essa classe para criar coelhos conceituais. Você verá o que quero dizer em um momento.

Se você verificar o Solution Explorer à direita, verá que um novo arquivo chamado Rabbit.cs foi criado logo abaixo de Program.cs. Muito bem - essa é uma das coisas mais importantes a saber se você deseja aprender C # para Android!

O novo arquivo Rabbit.cs possui o mesmo código "clichê" de antes. Ele ainda pertence ao mesmo espaço para nome e possui uma classe com o mesmo nome que o arquivo.

espaço para nome ConsoleApp2 {class Rabbit {}}

Agora, vamos dar ao nosso coelho algumas propriedades com o que chamamos de "construtor".

Um construtor é um método em uma classe que inicializa o objeto, permitindo definir suas propriedades quando o criamos pela primeira vez. Nesse caso, eis o que vamos dizer:

espaço para nome ConsoleApp2 {class Rabbit {public string RabbitName; cadeia pública RabbitColor; public int RabbitAge; public int RabbitWeight; public Rabbit (nome da string, cor da string, int idade, peso int) {RabbitName = nome; RabbitColor = cor; RabbitAge = idade; RabbitWeight = peso; }}}

Isso nos permite criar um novo coelho a partir de uma classe diferente e definir suas propriedades como fazemos:

Coelho Coelho1 = Coelho novo ("Jeff", "marrom", 1, 1);

Agora, em retrospecto, percebo que o peso provavelmente deveria ter sido um flutuador ou um dobro para permitir decimais, mas você entendeu. Vamos arredondar nosso coelho para o número inteiro mais próximo.

Você verá que, ao escrever seu coelho, será solicitado a passar os argumentos corretos. Dessa forma, sua classe se tornou quase parte do código.

Acredite ou não, este código criou um coelho! Você não pode ver seu coelho porque não temos gráficos, mas ele está lá.

E para provar isso, agora você pode usar esta linha:

Console.WriteLine (Rabbit1.RabbitName);

Isso informará o nome do coelho que você acabou de criar!

Da mesma forma, podemos aumentar o peso do nosso coelho, assim:

Rabbit1.RabbitWeight ++; Console.WriteLine (Rabbit1.RabbitName + "pesa" + Rabbit1.RabbitWeight + "kg");

Observe aqui que adicionar "++" no final de algo aumentará gradualmente seu valor em um (você também pode escrever "RabbitWeight = RabbitWeight + 1").

Como nossa classe pode produzir quantos coelhos quisermos, podemos criar muitos coelhos diferentes, cada um com suas próprias propriedades.

Adicionando comportamentos

Podemos então optar por dar ao nosso coelho algum tipo de comportamento. Nesse caso, vamos deixá-los comer.

Para fazer isso, criaríamos um método público chamado "Comer", e isso faria um som de comer, além de aumentar de maneira crescente o peso do coelho:

público vazio Eat () {Console.WriteLine (RabbitName + ": Nibble nibble!"); RabbitWeight ++; }

Lembre-se de que "público" significa acessível de fora da classe e "nulo" significa que o método não retorna nenhum dado.

Então, de dentro de Program.cs, poderemos chamar esse método e isso fará com que o coelho de nossa escolha coma e fique maior:

Console.WriteLine (Rabbit1.RabbitName + "pesa" + Rabbit1.RabbitWeight + "kg"); Rabbit1.Eat (); Rabbit1.Eat (); Rabbit1.Eat (); Console.WriteLine (Rabbit1.RabbitName + "pesa" + Rabbit1.RabbitWeight + "kg");

Isso fará com que Jeff coma três vezes, então ouviremos e poderemos ver que ele ficou maior! Se tivéssemos outro coelho em cena, eles poderiam comer também!

Console.WriteLine (Rabbit1.RabbitName + "pesa" + Rabbit1.RabbitWeight + "kg"); Console.WriteLine (Rabbit2.RabbitName + "pesa" + Rabbit2.RabbitWeight + "kg"); Rabbit1.Eat (); Rabbit1.Eat (); Rabbit2.Eat (); Rabbit2.Eat (); Rabbit1.Eat (); Console.WriteLine (Rabbit1.RabbitName + "pesa" + Rabbit1.RabbitWeight + "kg"); Console.WriteLine (Rabbit2.RabbitName + "pesa" + Rabbit2.RabbitWeight + "kg");

Para isso, como coelhos

Esta não é uma maneira particularmente elegante de lidar com muitos objetos, pois precisamos escrever os comandos para cada coelho manualmente e não podemos aumentar dinamicamente o número de coelhos o quanto quisermos. Não queremos apenas aprender C # - queremos aprender a escrever código C # limpo!

É por isso que podemos usar uma lista. Uma lista é uma coleção; própria variável que basicamente contém referências a outras variáveis. Nesse caso, podemos fazer uma lista de coelhos, e a boa notícia é que isso é muito fácil de entender:

Lista RabbitList = nova lista(); RabbitList.Add (novo Rabbit ("Jeff", "marrom", 1, 1)); RabbitList.Add (novo Coelho ("Sam", "branco", 1, 2));

Isso cria o novo coelho como antes, mas simultaneamente adiciona o coelho à lista. Da mesma forma, poderíamos dizer o seguinte:

Coelho Coelho3 = Coelho novo ("Jonny", "laranja", 1, 1); RabbitList.Add (Rabbit3);

De qualquer maneira, um objeto foi criado e adicionado à lista.

Também podemos devolver as informações da nossa lista de coelhos de maneira conveniente e elegante:

foreach (var Rabbit na lista Rabbit) {Console.WriteLine (Rabbit.RabbitName + "pesa" + Rabbit.RabbitWeight + "kg"); }

Como você pode descobrir, “foreach” significa repetir uma etapa uma vez para cada item da lista. Você também pode recuperar informações da sua lista assim:

RabbitList.Eat ();

Aqui "1" é o índice, o que significa que você está se referindo às informações armazenadas na posição um. Por acaso, esse é realmente o segundo coelho que você adicionou: porque as listas na programação sempre começam em 0.

Fibonacci

Caso você ainda não tenha adivinhado, agora usaremos todas essas informações para criar uma sequência de Fibonacci. Afinal, se você está aprendendo C # para Android, deve conseguir fazer algo interessante com toda essa teoria!

Na sequência de Fibonacci, os coelhos são fechados em uma sala e deixados para procriar. Eles podem se reproduzir após um mês, quando são sexualmente maduros (não posso confirmar se essa é a biologia correta do coelho). Se cada casal de coelhos puder produzir uma vez por mês a partir de então, produzindo dois filhos, eis a aparência da sequência:

1,1,2,3,5,8,13,21,34

Magicamente, cada número na sequência é o valor dos dois números anteriores somados. Segundo a ciência, isso é um grande problema.

O legal é que podemos replicar isso.

Primeiro, precisamos introduzir um novo conceito: o loop. Isso simplesmente repete o mesmo código várias vezes até que uma condição seja atendida. O loop "for" permite fazer isso criando uma variável, definindo as condições que queremos atender e depois operando nela - todas definidas entre colchetes:

for (int meses = 0; meses <100; meses ++) {// Faça algo}

Então, estamos criando um número inteiro chamado meses e fazendo um loop até que seja igual a 100. Em seguida, aumentamos o número de meses em um.

Deseja ver como isso pode se tornar uma sequência de Fibonacci? Contemplar:

namespace ConsoleApp2 {programa de classe {static void Main (string args) {List RabbitList = nova lista(); RabbitList.Add (novo Rabbit ("Jeff", "marrom", 0, 1)); RabbitList.Add (novo Coelho ("Sam", "branco", 0, 1)); for (int meses = 0; meses <10; meses ++) {int firstRabbit = 0; int timesToReproduce = 0; foreach (var Rabbit em RabbitList) {Console.Write ("R"); if (Rabbit.RabbitAge> 0) {if (firstRabbit == 0) {firstRabbit = 1; } else {firstRabbit = 0; timesToReproduce ++; }} Rabbit.RabbitAge ++; } for (int i = 0; i <timesToReproduce; i ++) {RabbitList.Add (novo Rabbit ("NewBabyRabbit", "marrom", 0, 1)); RabbitList.Add (novo Rabbit ("NewBabyRabbit", "brown", 0, 1)); Console.Write ("r"); Console.Write ("r"); } Console.WriteLine ("--- Existem" + RabbitList.Count / 2 + "pares de coelhos!"); Console.WriteLine (""); } Console.WriteLine ("Tudo pronto!"); Console.ReadKey (); }}}

Ok, isso foi mais difícil do que eu pensava!

Não vou passar por tudo isso, mas usando o que você já aprendeu, você poderá fazer engenharia reversa.

Definitivamente, existem maneiras mais elegantes de fazer isso - eu não sou matemático. No entanto, acho que é um exercício bastante divertido e, quando você puder fazê-lo, estará pronto para o grande momento.

A propósito, eu adoraria ver outras abordagens!

Para onde vamos daqui? Como aprender c # para Android

Com todo esse conhecimento, você está pronto para começar com coisas maiores. Em particular, você está pronto para experimentar a programação do Android com C # no Xamarin ou no Unity.

Isso é diferente porque você estará usando as classes fornecidas pelo Google, Microsoft e Unity. Quando você escreve algo como "RigidBody2D.velocity", o que você está fazendo é acessar uma propriedade de uma classe chamado RigidBody2D. Isso funciona da mesma forma, a única diferença é que você não pode ver o RigidBody2D porque você não o construiu.

Com esse C #, você deve estar pronto para pular uma dessas opções e ter uma grande vantagem quando se trata de entender o que está acontecendo:

  • Como criar um aplicativo Android com Xamarin
  • Crie seu primeiro jogo Android em 7 minutos com o Unity

Em uma lição a seguir, também veremos como você pode dar meia-volta e usar isso para criar aplicativos do Windows!

O napchat etá rapidamente e tornando uma da plataforma de mídia ocial mai populare. Faz muito bem com a geração mai jovem. Em termo de número aboluto, ea é a geraç&...

O árabe é uma língua urpreendentemente popular. É o idioma oficial da maioria do paíe árabe. Io inclui aproximadamente 1,8 bilhõe de peoa. É também um do ...

Recomendamos Você