Belajar C # untuk Android bahagian 2: Kelas dan gelung

Pengarang: John Stephens
Tarikh Penciptaan: 24 Januari 2021
Tarikh Kemas Kini: 1 Julai 2024
Anonim
How I went from C to A+ in BM SPM KARANGAN! #1 (you can quit tuition after watching) | Malaysia
Video.: How I went from C to A+ in BM SPM KARANGAN! #1 (you can quit tuition after watching) | Malaysia

Kandungan


Dalam sebahagian daripada siri tutorial Android ini untuk belajar C #, kami melihat dasar-dasar mutlak pengaturcaraan C #. Kami merangkumi kaedah (kumpulan kod yang melaksanakan tugas tertentu), beberapa sintaks asas (seperti keperluan untuk semi-colon), pembolehubah (bekas yang menyimpan data), dan "jika pernyataan" untuk kawalan aliran (cawangan kod yang bergantung kepada nilai pemboleh ubah). Kami juga melihat bagaimana untuk meluluskan pemboleh ubah seperti rentetan sebagai argumen antara kaedah.

Anda perlu kembali dan lihat jika anda belum membacanya.

Pada ketika ini, anda sepatutnya dapat membuat beberapa aplikasi konsol asas, seperti kuiz, aplikasi yang menyimpan data, atau kalkulator.

Pada bahagian kedua, kita akan mendapat sedikit lebih banyak bercita-cita tinggi, meliputi beberapa asas yang lebih asas - seperti gelung - dan meneroka cara membuat dan berinteraksi dengan kelas. Itu bermakna kita akan dapat mula menikam pembangunan Android dan melihat bagaimana untuk merapatkan jurang itu. Teruskan membaca jika anda mahu belajar C #!


Memahami kelas dan pengaturcaraan berorientasikan objek

Secara ringkasnya, kami menerangkan asas-asas Pengaturcaraan Berorientasi Objek, yang berkisar sekitar bahasa menggunakan "kelas" untuk menerangkan "objek." Objek adalah sekeping data, yang dapat mewakili banyak perkara. Ia boleh menjadi objek literal dalam dunia permainan seperti musim bunga, atau ia mungkin sesuatu yang lebih abstrak, seperti pengurus yang mengendalikan skor pemain.

Satu kelas boleh membuat pelbagai objek. Jadi anda mungkin menulis satu "musuh" kelas, tetapi dapat menjana seluruh tahap yang penuh dengan orang jahat. Ini adalah salah satu manfaat besar menggunakan pengaturcaraan berorientasikan objek. Jika tidak, satu-satunya cara untuk mengendalikan tingkah laku pelbagai musuh adalah dengan menggunakan banyak kaedah individu, masing-masing mengandungi arahan untuk bagaimana orang jahat harus berkelakuan dalam keadaan yang berbeza.


Jika ini masih agak rumit untuk mendapatkan kepala anda, semua yang anda perlu tahu ialah objek mempunyai sifat dan tingkah laku. Ini sama seperti objek sebenar. Sebagai contoh, arnab mempunyai sifat seperti saiz, warna, dan nama; dan ia mempunyai perilaku, seperti melompat, duduk, dan makan. Pada asasnya, sifat adalah pembolehubah dan tingkah laku adalah kaedah.

Program yang kami bina dalam pelajaran terakhir adalah contoh kelas juga. "Objek" yang kami huraikan di sini adalah sejenis sistem kawalan kata laluan. Properti yang dimiliki adalah rentetan UserName, dan tingkah laku yang dimilikinya adalah NewMethod (memeriksa nama pengguna dan ucapkannya).

Jika itumasih ada sedikit mengelirukan, satu-satunya cara untuk mendapatkan kepala kita adalah mencipta kelas baru atau dua diri!

Mewujudkan kelas baru

Sekiranya anda hendak belajar C #, anda perlu tahu cara membuat kelas baru. Nasib baik, ini sangat mudah. Cuma klik item menu Projek dan kemudian pilih "+ Tambah Kelas."

Pilih "C #" dan sebut sebagai "Arnab." Kami akan menggunakan kelas ini untuk membuat arnab konseptual. Anda akan melihat apa yang saya maksud dalam sekejap.

Sekiranya anda menyemak Penyelesaian Penyelesaian anda di sebelah kanan, anda akan melihat bahawa fail baru yang dipanggil Rabbit.cs telah dibuat tepat di bawah Program.cs. Sudah selesai - itulah salah satu perkara yang paling penting untuk mengetahui jika anda ingin belajar C # untuk Android!

Fail Rabbit.cs baru mempunyai beberapa kod "boilerplate" yang sama seperti dahulu. Ia masih tergolong dalam ruang nama yang sama, dan ia mempunyai kelas dengan nama yang sama dengan fail.

namespace ConsoleApp2 {class Rabbit {}}

Sekarang kita akan memberi arnab beberapa sifat dengan apa yang kita panggil "pembina."

Pembina adalah satu kaedah dalam kelas yang memulakan objek, membolehkan kita menentukan sifatnya ketika kita mula-mula membuatnya. Dalam kes ini, inilah yang akan kita katakan:

namespace ConsoleApp2 {class Rabbit {public string RabbitName; rentetan awam RabbitColor; int awam RabbitAge; int awam RabbitWeight; arnab awam (Nama rentetan, warna tali, umur int, int berat) {RabbitName = nama; RabbitColor = warna; RabbitAge = umur; RabbitWeight = berat; }}}

Ini membolehkan kita membuat arnab baru dari kelas yang berbeza, dan menentukan sifatnya seperti yang kita lakukan:

Rabbit Rabbit1 = Arnab baru ("Jeff", "coklat", 1, 1);

Sekarang saya menyedari bahawa berat badan berundur mungkin mungkin terapung atau berganda untuk membolehkan perpuluhan, tetapi anda mendapat idea. Kami akan memutar arnab kami ke nombor keseluruhan yang terdekat.

Anda akan melihat apabila anda menulis arnab anda, anda akan diminta untuk lulus hujah yang betul. Dengan cara ini, kelas anda telah menjadi sebahagian daripada kod hampir.

Percaya atau tidak, kod ini telah membuat arnab! Anda tidak dapat melihat arnab anda kerana kami tidak mempunyai sebarang grafik, tetapi ia ada di sana.

Dan untuk membuktikannya, kini anda boleh menggunakan baris ini:

Console.WriteLine (Rabbit1.RabbitName);

Ini kemudian akan memberitahu anda nama arnab yang baru anda buat!

Kita juga dapat meningkatkan berat badan Arnab kita, seperti:

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

Perhatikan di sini bahawa menambahkan "++" pada akhir sesuatu akan secara bertahap meningkatkan nilainya dengan satu (Anda juga boleh menulis "RabbitWeight = RabbitWeight + 1").

Kerana kelas kita boleh membuat seberapa banyak arnab yang kita suka, kita boleh membuat banyak arnab yang berbeza, masing-masing dengan sifat mereka sendiri.

Menambah tingkah laku

Kita mungkin juga memilih untuk memberikan arnab kepada kita beberapa jenis tingkah laku. Dalam kes ini, marilah kita makan.

Untuk melakukan ini, kita akan membuat kaedah awam yang dipanggil "Makan," dan ini akan membuat bunyi makan, sementara juga meningkatkan berat badan arnab:

kekosongan awam Makan () {Console.WriteLine (RabbitName + ": Nibble nibble!)); RabbitWeight ++; }

Ingat, "awam" bermakna diakses dari luar kelas, dan "tidak sah" bermakna kaedah tidak mengembalikan sebarang data.

Kemudian, dari dalam Program.cs, kita akan dapat memanggil kaedah ini dan ini akan menjadikan arnab pilihan kita makan dan menjadi lebih besar:

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

Itu akan menyebabkan Jeff makan tiga kali, maka kita akan mendengarnya dan dapat melihat dia semakin besar! Jika kita mempunyai arnab lain di tempat kejadian, mereka boleh makan juga!

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

Pada ia seperti arnab

Ini bukan cara yang sangat elegan untuk mengendalikan banyak objek, kerana kita perlu menulis perintah untuk setiap arnab secara manual dan tidak boleh meningkatkan jumlah arnab yang dinamik sejauh yang kita mahu. Kami tidak hanya mahu belajar C # - kita mahu belajar cara menulis kod C # yang bersih!

Ini sebabnya kami mungkin menggunakan senarai. Senarai adalah koleksi; pembolehubah itu sendiri yang pada dasarnya mengandungi rujukan kepada pembolehubah lain. Dalam kes ini, kita mungkin membuat senarai Arnab, dan berita gembira adalah bahawa ini sangat mudah difahami:

Senarai RabbitList = Senarai baru(); RabbitList.Add (Arnab baru ("Jeff", "coklat", 1, 1)); RabbitList.Add (Arnab baru ("Sam", "putih", 1, 2));

Ini menjadikan arnab baru seperti dahulu, tetapi pada masa yang sama menambah arnab ke dalam senarai. Sama, kita boleh mengatakan ini:

Arnab Rabbit3 = Arnab baru ("Jonny", "oren", 1, 1); RabbitList.Add (Rabbit3);

Sama ada cara, objek telah dicipta dan ditambah ke dalam senarai.

Kami juga boleh dengan mudah dan elegan memulangkan maklumat daripada senarai arnab kami dengan cara ini:

foreach (var Rabbit in RabbitList) {Console.WriteLine (Rabbit.RabbitName + "weighs" + Rabbit.RabbitWeight + "kg"); }

Seperti yang mungkin anda fikirkan, "foreach" bermakna anda mengulang satu langkah sekali untuk setiap item dalam senarai. Anda juga boleh mendapatkan maklumat dari senarai anda seperti ini:

RabbitList.Eat ();

Di sini "1" adalah indeks, yang bermaksud anda merujuk kepada maklumat yang disimpan pada kedudukan satu. Seperti yang berlaku, itu sebenarnya kedua arnab yang anda tambah walaupun: kerana senarai dalam pengaturcaraan sentiasa bermula pada 0.

Fibonacci

Sekiranya anda belum menebak, kami akan menggunakan semua maklumat ini untuk membuat urutan Fibonacci. Lagipun, jika anda belajar C # untuk Android, anda sepatutnya dapat melakukan sesuatu yang menarik dengan semua teori itu!

Dalam urutan Fibonacci, arnab ditutup di dalam bilik dan dibiarkan membiak. Mereka boleh menghasilkan semula selepas satu bulan, di mana mereka matang (saya tidak boleh mengesahkan jika ini benar biologi Arnab). Jika setiap pasangan arnab boleh menghasilkan sekali sebulan dari masa itu, menghasilkan dua keturunan, inilah urutan urutan:

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

Secara ajaib, setiap nombor dalam urutan adalah nilai dua angka sebelumnya yang ditambah bersama. Mengikut sains, ini adalah jenis yang besar.

Perkara yang menarik ialah, kita boleh meniru itu.

Pertama, kita perlu memperkenalkan konsep baru: gelung. Ini hanya mengulangi kod yang sama berulang kali sehingga keadaan dipenuhi. Gelung "untuk" membolehkan kami melakukan ini dengan membuat pemboleh ubah, menetapkan syarat yang ingin kami temui, dan kemudian beroperasi di atasnya - semuanya ditakrifkan di dalam kurungan:

untuk (int bulan = 0; bulan <100; bulan ++) {// Do something}

Oleh itu, kita membuat integer yang dipanggil bulan, dan berleher sehingga ia bersamaan dengan 100. Kemudian kita meningkatkan bilangan bulan demi satu.

Mahu melihat bagaimana ini boleh menjadi urutan Fibonacci? Lihatlah:

namespace ConsoleApp2 {class Program {static void Main (string args) {List RabbitList = Senarai baru(); RabbitList.Add (Arnab baru ("Jeff", "coklat", 0, 1)); RabbitList.Add (Arnab baru ("Sam", "putih", 0, 1)); untuk (bulan int = 0; bulan <10; bulan ++) {int firstRabbit = 0; int timesToReproduce = 0; foreach (var Rabbit in RabbitList) {Console.Write ("R"); jika (Rabbit.RabbitAge> 0) {if (firstRabbit == 0) {firstRabbit = 1; } else {firstRabbit = 0; timesToReproduce ++; }} Rabbit.RabbitAge ++; } untuk (int i = 0; i <timesToReproduce; i ++) {RabbitList.Add (Arnab baru ("NewBabyRabbit", "coklat", 0, 1)); RabbitList.Add (Arnab baru ("NewBabyRabbit", "coklat", 0, 1)); Console.Write ("r"); Console.Write ("r"); } Console.WriteLine ("--- Terdapat" + RabbitList.Count / 2 + "pasang arnab!"); Console.WriteLine (""); } Console.WriteLine ("Semua selesai!"); Console.ReadKey (); }}}

Okay, itu lebih sukar daripada yang saya fikirkan!

Saya tidak akan pergi melalui semua ini, tetapi menggunakan apa yang telah anda pelajari, anda sepatutnya dapat membalikkan jurutera itu.

Terdapat cara yang lebih elegan untuk melakukan ini - Saya bukan ahli matematik. Walau bagaimanapun, saya fikir ia adalah satu latihan yang cukup menyeronokkan, dan apabila anda boleh melakukannya, anda sudah bersedia untuk masa yang besar.

Saya suka melihat apa-apa pendekatan lain, dengan cara!

Di manakah kita pergi dari sini? Bagaimana untuk belajar C # untuk Android

Dengan semua pengetahuan di bawah tali pinggang anda, anda sudah bersedia untuk memulakan perkara yang lebih besar. Khususnya, anda sudah bersedia untuk menikam pemrograman Android dengan C # di Xamarin atau Perpaduan.

Ini berbeza kerana anda akan menggunakan kelas yang disediakan oleh Google, Microsoft, dan Perpaduan. Apabila anda menulis sesuatu seperti "RigidBody2D.velocity" apa yang anda lakukan adalah mengakses sesuatu dari kelas dipanggil RigidBody2D. Ini berfungsi sama sahaja, satu-satunya perbezaan ialah anda tidak dapat melihat RigidBody2D kerana anda tidak membinanya sendiri.

Dengan C # ini di bawah tali pinggang anda, anda harus bersedia untuk melompat ke salah satu daripada pilihan ini dan mempunyai permulaan yang besar ketika datang untuk memahami apa yang berlaku:

  • Bagaimana untuk membuat aplikasi Android dengan Xamarin
  • Bina permainan Android pertama anda dalam 7 minit dengan Perpaduan

Dalam pelajaran yang akan datang, kami juga akan melihat bagaimana anda boleh mengambil giliran U dan menggunakannya untuk membina aplikasi Windows sebaliknya!

Kema kini, 3 Julai 2019 (6:50 petang ET): Facebook tidak mengumumkan bahawa egala-galanya tetap, tetapi kelihatannya eolah-olah emuanya hampir normal. Anda mungkin menjangkakan untuk melihat beberapa ...

Mahukah kamu 40,000 orang untuk melihat iaran Intagram anda?Anda mungkin mahu beraa lebih relevan, tetapi ada peluang komerial yang bear juga. ama ada cara, membina Intagram bear berikut pati mempunya...

Kami Mengesyorkan