Pelajari C # untuk Android bagian 2: Kelas dan loop

Pengarang: John Stephens
Tanggal Pembuatan: 24 Januari 2021
Tanggal Pembaruan: 1 Juli 2024
Anonim
Android Looper, Handler and HandlerThread Tutorial: Part 2
Video: Android Looper, Handler and HandlerThread Tutorial: Part 2

Isi


Pada bagian satu dari seri tutorial Android ini tentang belajar C #, kami melihat dasar-dasar absolut pemrograman C #. Kami membahas metode (kelompok kode yang melakukan tugas tertentu), beberapa sintaks dasar (seperti kebutuhan untuk titik koma), variabel (wadah yang menyimpan data), dan "jika pernyataan" untuk kontrol aliran (kode percabangan yang bergantung pada nilai-nilai variabel). Kami juga melihat cara meneruskan variabel seperti string sebagai argumen antara metode.

Anda harus kembali dan melihatnya jika Anda belum membacanya.

Pada titik ini, Anda harus dapat membuat beberapa aplikasi konsol dasar, seperti kuis, aplikasi yang menyimpan data, atau kalkulator.

Di bagian dua, kita akan menjadi sedikit lebih ambisius, mencakup beberapa hal mendasar - seperti loop - dan mengeksplorasi cara membuat dan berinteraksi dengan kelas. Itu berarti kita akan dapat mulai mengambil bacokan pada pengembangan Android dan melihat bagaimana menjembatani kesenjangan itu. Lanjutkan membaca jika Anda ingin benar-benar belajar C #!


Memahami kelas dan pemrograman berorientasi objek

Secara singkat di bagian satu, kami menjelaskan dasar-dasar Pemrograman Berorientasi Objek, yang berputar di sekitar bahasa menggunakan "kelas" untuk menggambarkan "objek." Objek adalah sepotong data, yang dapat mewakili banyak hal. Itu bisa menjadi objek literal di dunia game seperti pegas, atau bisa juga sesuatu yang lebih abstrak, seperti manajer yang menangani skor pemain.

Satu kelas dapat membuat banyak objek. Jadi, Anda dapat menulis satu kelas "musuh", tetapi dapat menghasilkan seluruh level yang penuh dengan orang jahat. Ini adalah salah satu manfaat besar menggunakan pemrograman berorientasi objek. Kalau tidak, satu-satunya cara untuk menangani perilaku banyak musuh adalah dengan menggunakan banyak metode individu, masing-masing berisi instruksi untuk bagaimana orang jahat harus berperilaku dalam keadaan yang berbeda.


Jika ini masih agak sulit untuk dilakukan, yang perlu Anda ketahui adalah benda memiliki sifat dan perilaku. Ini seperti benda nyata. Misalnya, kelinci memiliki sifat seperti ukuran, warna, dan nama; dan itu memiliki perilaku, seperti melompat, duduk, dan makan. Pada dasarnya, properti adalah variabel dan perilaku adalah metode.

Program yang kami buat dalam pelajaran terakhir adalah contoh dari kelas juga. "Objek" yang kami jelaskan di sini adalah semacam sistem kontrol kata sandi. Properti yang dimilikinya adalah string UserName, dan perilaku yang dimilikinya adalah NewMethod (memeriksa nama pengguna dan menyapa mereka).

Jika itumasih agak membingungkan, satu-satunya cara untuk mendapatkan kepala kita sekitar adalah membuat kelas baru atau dua sendiri!

Membuat kelas baru

Jika Anda akan belajar C #, Anda perlu tahu cara membuat kelas baru. Untungnya, ini sangat mudah. Cukup klik item menu Proyek dan kemudian pilih "+ Tambahkan Kelas."

Pilih "C #" dan menyebutnya "Kelinci." Kami akan menggunakan kelas ini untuk membuat kelinci konseptual. Anda akan melihat apa yang saya maksud sebentar lagi.

Jika Anda memeriksa Solution Explorer di sebelah kanan, Anda akan melihat bahwa file baru bernama Rabbit.cs telah dibuat tepat di bawah Program.cs. Bagus sekali - itu salah satu hal paling penting untuk diketahui jika Anda ingin belajar C # untuk Android!

File Rabbit.cs baru memiliki beberapa kode "boilerplate" yang sama seperti sebelumnya. Itu masih milik namespace yang sama, dan memiliki kelas dengan nama yang sama dengan file.

namespace ConsoleApp2 {kelas Kelinci {}}

Sekarang kita akan memberi kelinci kita beberapa properti dengan apa yang kita sebut "konstruktor."

Konstruktor adalah metode dalam kelas yang menginisialisasi objek, memungkinkan kita untuk mendefinisikan propertinya ketika pertama kali kita membuatnya. Dalam hal ini, inilah yang akan kami katakan:

namespace ConsoleApp2 {kelas Kelinci {string publik RabbitName; string publik RabbitColor; RabbitAge int publik; RabbitWeight int publik; Kelinci umum (Nama tali, Warna tali, umur int, berat int) {RabbitName = name; RabbitColor = warna; RabbitAge = usia; Berat Kelinci = berat; }}}

Ini memungkinkan kami membuat kelinci baru dari kelas yang berbeda, dan mendefinisikan propertinya seperti yang kami lakukan:

Kelinci Kelinci1 = Kelinci baru ("Jeff", "coklat", 1, 1);

Sekarang saya menyadari dalam retrospeksi, berat mungkin seharusnya berupa pelampung atau dobel untuk memungkinkan desimal, tetapi Anda mendapatkan idenya. Kami akan mengitari kelinci kami ke nomor keseluruhan terdekat.

Anda akan melihat saat Anda menulis kelinci Anda, Anda akan diminta untuk memberikan argumen yang benar. Dengan cara ini, kelas Anda hampir menjadi bagian dari kode.

Percaya atau tidak, kode ini telah menciptakan kelinci! Anda tidak dapat melihat kelinci Anda karena kami tidak memiliki grafik, tetapi ia ada di sana.

Dan untuk membuktikannya, Anda sekarang dapat menggunakan baris ini:

Console.WriteLine (Rabbit1.RabbitName);

Ini kemudian akan memberi tahu Anda nama kelinci yang baru saja Anda buat!

Kita juga dapat menambah berat Kelinci kita, seperti:

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

Perhatikan di sini bahwa menambahkan "++" di akhir sesuatu akan secara bertahap meningkatkan nilainya menjadi satu (Anda juga bisa menulis "RabbitWeight = RabbitWeight + 1").

Karena kelas kita dapat membuat kelinci sebanyak yang kita suka, kita dapat membuat banyak kelinci yang berbeda, masing-masing dengan sifatnya sendiri.

Menambah perilaku

Kemudian kita mungkin juga memilih untuk memberi kelinci kita semacam perilaku. Dalam hal ini, mari kita biarkan mereka makan.

Untuk melakukan ini, kami akan membuat metode publik yang disebut "Makan," dan ini akan membuat suara makan, sementara juga secara bertahap menambah berat kelinci:

public void Eat () {Console.WriteLine (RabbitName + ": Nibble nibble!"); Berat Kelinci ++; }

Ingat, "publik" berarti dapat diakses dari luar kelas, dan "void" berarti metode ini tidak mengembalikan data apa pun.

Kemudian, dari dalam Program.cs, kita akan dapat memanggil metode ini dan ini akan membuat kelinci 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 bisa melihat dia bertambah besar! Jika ada kelinci lain di tempat itu, mereka juga bisa makan!

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");

Seperti kelinci

Ini bukan cara yang elegan untuk menangani banyak objek, karena kita perlu menuliskan perintah untuk setiap kelinci secara manual dan tidak dapat secara dinamis meningkatkan jumlah kelinci sejauh yang kita inginkan. Kami tidak hanya ingin belajar C # - kami ingin belajar cara menulis kode C # bersih!

Inilah sebabnya kami mungkin menggunakan daftar. Daftar adalah koleksi; variabel itu sendiri yang pada dasarnya berisi referensi ke variabel lain. Dalam hal ini, kita mungkin membuat daftar Kelinci, dan kabar baiknya adalah ini sangat mudah dimengerti:

Daftar RabbitList = Daftar baru(); RabbitList.Add (Kelinci baru ("Jeff", "brown", 1, 1)); RabbitList.Add (Kelinci baru ("Sam", "putih", 1, 2));

Ini menciptakan kelinci baru seperti sebelumnya, tetapi secara bersamaan menambahkan kelinci ke dalam daftar. Sama, kita bisa mengatakan ini:

Kelinci Rabbit3 = Kelinci baru ("Jonny", "oranye", 1, 1); RabbitList.Add (Rabbit3);

Either way, sebuah objek telah dibuat dan ditambahkan ke daftar.

Kami juga dapat dengan mudah dan elegan mengembalikan informasi dari daftar kelinci kami dengan cara ini:

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

Karena Anda mungkin bisa mengetahuinya, "foreach" berarti Anda mengulangi langkah satu kali untuk setiap item dalam daftar. Anda juga dapat mengambil informasi dari daftar Anda seperti ini:

RabbitList.Eat ();

Di sini "1" adalah indeks, yang berarti Anda merujuk pada informasi yang disimpan di posisi satu. Ketika itu terjadi, sebenarnya itulah kedua kelinci yang Anda tambahkan: karena daftar dalam pemrograman selalu dimulai dari 0.

Fibonacci

Jika Anda belum menebak, kami sekarang akan menggunakan semua informasi ini untuk membuat deret Fibonacci. Lagipula, Jika Anda mempelajari C # untuk Android, Anda harus dapat benar-benar melakukan sesuatu yang menarik dengan semua teori itu!

Dalam deret Fibonacci, kelinci dikurung di dalam ruangan dan dibiarkan berkembang biak. Mereka dapat bereproduksi setelah satu bulan, pada titik mana mereka matang secara seksual (saya tidak dapat memastikan apakah ini benar kelinci biologi). Jika setiap pasangan kelinci dapat berproduksi sebulan sekali sejak saat itu, menghasilkan dua anak, inilah urutannya:

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

Secara ajaib, setiap angka dalam urutan adalah nilai dari dua angka sebelumnya yang ditambahkan bersamaan. Menurut ilmu pengetahuan, ini semacam masalah besar.

Yang keren adalah, kita bisa meniru itu.

Pertama, kita perlu memperkenalkan konsep baru: loop. Ini hanya mengulangi kode yang sama berulang-ulang sampai suatu kondisi terpenuhi. Lingkaran "untuk" memungkinkan kita melakukan ini dengan membuat variabel, mengatur kondisi yang ingin kita penuhi, dan kemudian mengoperasikannya - semua didefinisikan di dalam tanda kurung:

untuk (int bulan = 0; bulan <100; bulan ++) {// Lakukan sesuatu}

Jadi kami membuat bilangan bulat yang disebut bulan, dan berulang sampai sama dengan 100. Lalu kami menambah jumlah bulan per satu.

Ingin melihat bagaimana ini bisa menjadi urutan Fibonacci? Melihat:

namespace ConsoleApp2 {Program kelas {static void Main (string args) {List RabbitList = Daftar baru(); RabbitList.Add (Kelinci baru ("Jeff", "brown", 0, 1)); RabbitList.Add (Kelinci baru ("Sam", "putih", 0, 1)); untuk (int bulan = 0; bulan <10; bulan ++) {int firstRabbit = 0; int timesToReproduksi = 0; foreach (var Rabbit in RabbitList) {Console.Write ("R"); if (Rabbit.RabbitAge> 0) {if (firstRabbit == 0) {firstRabbit = 1; } else {firstRabbit = 0; timesToReproduksi ++; }} Rabbit.RabbitAge ++; } untuk (int i = 0; i <timesToReproduksi; i ++) {RabbitList.Add (Kelinci baru ("NewBabyRabbit", "brown", 0, 1)); RabbitList.Add (Kelinci baru ("NewBabyRabbit", "brown", 0, 1)); Console.Write ("r"); Console.Write ("r"); } Console.WriteLine ("--- Ada" + RabbitList.Count / 2 + "pasang kelinci!"); Console.WriteLine (""); } Console.WriteLine ("Semua selesai!"); Konsol.ReadKey (); }}}

Oke, itu lebih sulit dari yang saya kira!

Saya tidak akan membahas semua ini, tetapi menggunakan apa yang sudah Anda pelajari, Anda harus dapat merekayasa baliknya.

Pasti ada cara yang lebih elegan untuk melakukan ini - saya bukan ahli matematika. Namun, saya pikir ini latihan yang cukup menyenangkan, dan begitu Anda bisa melakukannya, Anda siap untuk waktu yang tepat.

Ngomong-ngomong, aku senang melihat pendekatan lain!

Kemana kita pergi dari sini? Cara belajar C # untuk Android

Dengan semua pengetahuan itu, Anda siap untuk memulai hal-hal yang lebih besar. Khususnya, Anda siap untuk menusuk pemrograman Android dengan C # di Xamarin atau Unity.

Ini berbeda karena Anda akan menggunakan kelas yang disediakan oleh Google, Microsoft, dan Unity. Ketika Anda menulis sesuatu seperti "RigidBody2D.velocity" apa yang Anda lakukan adalah mengakses properti dari kelas bernama RigidBody2D. Ini berfungsi sama, satu-satunya perbedaan adalah Anda tidak dapat melihat RigidBody2D karena Anda tidak membangunnya sendiri.

Dengan C # ini di bawah ikat pinggang Anda, Anda harus siap untuk melompat ke salah satu dari opsi ini dan memiliki awal yang baik ketika datang untuk memahami apa yang sedang terjadi:

  • Cara membuat aplikasi Android dengan Xamarin
  • Bangun game Android pertama Anda dalam 7 menit dengan Unity

Dalam pelajaran mendatang, kami juga akan melihat bagaimana Anda dapat berbelok dan menggunakan ini untuk membangun aplikasi Windows sebagai gantinya!

Huawei P20 Pro tahun lalu meluncurkan Huawei ke puncak papan peringkat fotografi eluler. Kamera telepon tetap ada ejak aat itu, menangki peraingan engit dari amung Galaxy Note 9 dan Google Pixel 3. Bi...

amung dan Huawei mungkin akan mengincar maa depan lipat dengan Galaxy Fold dan Mate X, tetapi rakaa Android belum eleai dengan martphone tradiional dulu....

Kami Menyarankan