GNU/Linux >> Belajar Linux >  >> Linux

Cara:Pengantar Pemrograman – Pemrograman Berorientasi Objek

Seri Petunjuk

Ini adalah bagian 5 dari seri 5 bagian untuk Pengenalan Pemrograman

  1. Pengantar Pemrograman:Memulai
  2. Pengantar Pemrograman:Program Pertama Anda
  3. Pengantar Pemrograman:Variabel, Jenis, Dan Memanipulasi Data
  4. Pengantar Pemrograman:Kontrol Aliran
  5. Pengantar Pemrograman:Pemrograman Berorientasi Objek

Kembali untuk Pelajaran Terakhir

Senang bertemu denganmu lagi! Saya senang Anda kembali untuk artikel terakhir ini dalam seri Pengantar Pemrograman di Atlantic.NET. Anda telah belajar banyak sejauh ini, dan artikel ini tidak terkecuali.

Dalam artikel ini, kita akan menjelajahi orientasi objek, yang merupakan metodologi pemrograman tempat Anda membangun objek yang mewakili hal-hal yang ingin Anda modelkan dan kemudian meminta objek tersebut melakukan berbagai tugas.

Ingin tahu hal terbaiknya? Anda sudah melakukannya. Sekarang Anda hanya perlu memahami apa yang telah Anda lakukan, dan Anda akan baik-baik saja.

.

Objek Acak

Pertama, ingat bahwa di artikel sebelumnya, saya mengakhiri dengan memberi Anda dua baris kode yang belum saya jelaskan. Ini dua baris lagi:

Random random = new Random(); // Object orientation stuff
int answer = random.Next(10) + 1; // Give me a random number less than 10 and add one

Baris pertama adalah yang paling asing bagi kita saat ini. Kita akan mulai dengan kata kunci baru, yaitu new . Apa yang new tidak adalah instantiate suatu objek. Membuat instance berarti membuat instance dari sesuatu, dan dalam hal ini, kita membuat instance dari kelas yang disebut Random() .

Jadi baris pertama ini membuat objek baru dari Random() kelas dan kemudian menetapkannya ke variabel tipe Random dan yang namanya random . Itu banyak keacakan untuk komputer yang tidak acak sama sekali! Rincian ini dapat membantu jika Anda merasa penjelasan itu membingungkan.

Pertama, Anda memiliki tipe variabel. Sejauh ini kita telah menggunakan int dan string jenis, jadi di sini kami memperkenalkan jenis baru–atau, sebenarnya, jenis kelas–disebut Random .
Kedua, kita memiliki nama variabel. Saat bekerja dengan variabel di artikel sebelumnya, kami telah menggunakan nama variabel seperti input dan nilai . Perhatikan bahwa dalam kasus ini, kami menggunakan nama variabel random (kami telah membuatnya menjadi huruf kecil untuk mencoba membantu Anda membedakannya), meskipun itu bisa berupa apa saja yang Anda suka, seperti number atau hey_there_human_can_you_get_me_a_cookie_please_kthxbye .
Ketiga–dan ini secara harfiah adalah bagian baru–adalah cara kita menetapkan nilai ke variabel. Di artikel sebelumnya, kami telah mengatur ini ke output dari Console.ReadLine() metode atau nilai tetap seperti 8 atau "Halo dunia!". Sekarang, kami menggunakan pendekatan yang sedikit berbeda karena kami membuat objek baru dengan new kata kunci.

.

Sebelum kita masuk ke baris berikutnya, mari kita lakukan sedikit review.
.

Tinjauan Kelas, Objek, Properti, dan Metode

Dalam orientasi objek, dua konsep yang paling penting adalah kelas dan objek. Anda mempelajarinya secara singkat di artikel kedua dari seri ini ketika saya menjelaskan bahwa Anda dapat menganggap kelas sebagai templat dan objek sebagai apa yang Anda buat dari templat tersebut, misalnya, kue (objek) dari resep (kelas).

Sebuah kelas, menjadi template untuk objek, mendefinisikan apa yang akan menjadi objek melalui properti dan metode. Saat Anda membuat objek menggunakan new kata kunci, Anda mendapatkan objek unik yang memiliki properti dan metode seperti yang didefinisikan oleh kelas.

Misalnya, Anda mungkin ingin membuat kue baru dari resep yang diberikan. Dengan demikian, Anda dapat mengatakan bahwa Anda membuat resep dan mendapatkan objek kue. Kue ini unik dari semua kue lain yang dibuat dari resep itu, jadi perubahan yang Anda buat pada satu kue tidak memengaruhi kue lainnya; mengoleskan frosting pada satu kue tidak memberikan frosting pada semua kue.

Properties adalah nilai yang mendefinisikan apa itu objek. Mungkin lebih mudah jika Anda menganggap properti sebagai semacam variabel yang dilampirkan ke objek. Misalnya, untuk objek kue, jenis frosting atau isian dapat berupa properti.

Metode mendefinisikan apa yang dapat dilakukan suatu objek. Misalnya, mobil bisa mengemudi. Anda tidak benar-benar perlu tahu cara kerja mesin; Anda cukup memberi tahu mobil untuk memulai, dan mobil akan mengurus apa yang perlu dilakukan untuk menghidupkan mesin dan membuat Anda bahagia. Salah satu hal indah tentang orientasi objek adalah kita tidak terlalu peduli dengan cara kerja metode yang mendasarinya, kita juga tidak perlu melakukannya. Ini adalah konsep abstraksi yang juga telah kita bahas sebelumnya.

Karena kita sudah membahas kue, kita bisa membayangkan metode untuk kue seperti AddFilling dan WrapInPaper yang akan menambah atau menyesuaikan properti isian atau menunjuk kue yang dibungkus kertas, misalnya.

.

Anda sering dapat mengenali bahwa Anda berurusan dengan objek dan kelas dengan menggunakan titik atau "titik". Misalnya, dalam output program kami, kami menggunakan Console.ReadLine() (diucapkan sebagai “Console dot ReadLine”). Bagian pertama sebelum titik menentukan kelas atau objek dan bagian kedua setelah titik menentukan properti atau metode yang ingin kita panggil.

Bagaimana Anda membedakan antara properti dan metode? Sebagian besar waktu, metode akan memiliki tanda kurung sedangkan properti tidak. Anda dapat memberi tahu, misalnya, bahwa perintah Console.ReadLine() tanya Console kelas atau objek untuk memanggil ReadLine() metode karena “ReadLine” diikuti oleh tanda kurung.

Untuk properti, Anda akan menemukan bahwa Anda berinteraksi dengan mereka seperti yang Anda lakukan dengan variabel normal. Anda dapat melakukan operasi matematika, menetapkan nilai, membaca nilai, dan sebagainya, seperti halnya dengan int dan string variabel. Sebenarnya, jika Anda ingin sedikit mengubah kode permainan kami, Anda dapat mengatur properti untuk warna latar depan dan latar belakang konsol seperti:

Console.BackgroundColor = ConsoleColor.Blue;
Console.ForegroundColor = ConsoleColor.White;

Penambahan pernyataan-pernyataan ini akan menyebabkan teks ditulis dengan warna putih pada latar belakang biru saat Anda menampilkan sesuatu di program ini, seperti yang terlihat pada Gambar 1 di bawah ini.

Gambar 1:Putih pada Teks Konsol Biru

Anda mungkin mengira seluruh jendela berwarna biru, bukan? Kami hanya mendapatkan garis keluaran berwarna biru karena kami belum memberi tahu konsol untuk menghapus latar belakang hitam yang sudah ada di sana. Kita dapat melakukan perubahan ini dengan memanggil Clear() metode di konsol:

Console.BackgroundColor = ConsoleColor.Blue;
Console.ForegroundColor = ConsoleColor.White;
Console.Clear();

Dengan tambahan ini, kita mendapatkan sesuatu seperti Gambar 2 di bawah ini.

Gambar 2:Jendela Konsol Biru

Dalam contoh ini, Anda menggunakan orientasi objek terlebih dahulu untuk menetapkan nilai ke properti di konsol, lalu meminta konsol melakukan sesuatu. Pola ini umum dalam orientasi objek.

Ada satu hal lagi mengenai metode yang perlu Anda pelajari dan itu adalah penggunaan parameter . Untungnya, Anda telah menggunakan parameter saat menulis teks ke konsol menggunakan WriteLine() metode.

Parameter memungkinkan Anda untuk mengonfigurasi bagaimana metode harus dijalankan. Misalnya, ketika Anda ingin konsol menulis sesuatu, Anda perlu memberi tahu apa yang harus ditulis. Anda melakukannya dengan memasukkan satu atau beberapa parameter ke dalam tanda kurung setelah nama metode.

Console.WriteLine(“this is a parameter”);

Sejauh ini, kami hanya menggunakan teks tetap untuk menghasilkan sesuatu, tetapi kami juga dapat meneruskan variabel, properti, atau bahkan seluruh objek ke dalam metode. Misalnya, WriteLine() metode, dapat menerima int variabel untuk diteruskan ke konsol menampilkan nilai variabel itu.

int i = 99;
Console.WriteLine(i);

Apa yang dapat Anda lakukan dengan berbagai kelas dan objek sangat bervariasi. Anda harus merujuk ke dokumentasi API untuk referensi lebih lanjut tentang kemampuan objek yang berbeda. Beberapa alat pengembangan, seperti Visual Studio, juga dapat sangat membantu Anda dengan menyarankan nilai berdasarkan apa yang diinginkan metode, atau menyarankan properti dan metode yang tersedia saat Anda mulai mengetik nama objek atau kelas.

Di Visual Studio, misalnya, Anda dapat melihat semua properti konsol dengan mengetikkan Console dan "titik". Tunggu sepersekian detik, dan Anda akan melihat daftar properti dan metode dan bahkan dokumentasi tentang apa yang dilakukan berbagai properti dan metode, seperti yang ditunjukkan pada Gambar 3 di bawah.

Gambar 3:Perintah Intellisense Visual Studio

Di Visual Studio, fitur ini disebut IntelliSense, dan jika Anda melakukan pengembangan di Visual Studio, ini akan menjadi salah satu fitur paling bermanfaat yang dapat Anda gunakan. Alat pengembangan lainnya juga menawarkan fungsi serupa.

Terakhir, ada satu jenis metode khusus dalam orientasi objek yang disebut konstruktor . Konstruktor adalah metode yang dipanggil saat Anda membuat objek dengan new kata kunci. Metode ini memungkinkan Anda untuk melakukan tugas seperti menginisialisasi nilai untuk objek dan selalu menjadi metode pertama yang dipanggil dalam umur objek.

.

Kembali ke Game Menebak Kami

Saat kita menulis Random random = new Random(); Random() bagian adalah konstruktor. Seperti metode lainnya, ia dapat menerima parameter, yang kemudian dapat digunakan metode untuk menginisialisasi properti objek.

Sekarang kita dapat membawanya kembali ke baris kedua yang kita tambahkan untuk membuat bilangan bulat acak untuk game kita.

int answer = random.Next(10) + 1;

Anda mungkin telah memperhatikan bahwa ketika Anda mulai mengetik teks (kecuali Anda hanya menyalinnya, itu juga bagus; lihat saja Gambar 4), IntelliSense Visual Studio muncul dan memberi tahu Anda apa Next() metode tidak, seperti yang ditunjukkan di bawah ini.

Gambar 4. Random.Next()

Petunjuk ini memberi tahu Anda bahwa Random.Next() metode membutuhkan parameter tipe int dengan nilai maksimum “maxValue”. Perhatikan bahwa nama yang disebutkan bukan tipe tetapi lebih merupakan deskriptor–Anda tidak perlu memanggil nilai integer Anda “maxValue”.

Selanjutnya, kita mengetahui bahwa ketika kita memanggil metode tersebut dengan int parameter, metode ini akan mengembalikan kepada kita bilangan bulat acak nonnegatif. Dalam permainan kami, kami menetapkan itu dalam nama variabel jawaban jadi kita bisa merujuknya nanti.

Namun, dokumentasi menyatakan bahwa nilai yang dikembalikan kurang dari maksimal. Jadi, ketika kita melewati 10, kita mendapatkan nilai yang kurang dari itu, jadi hanya bisa sampai 9. Selanjutnya, angka yang dikembalikan dari Next() adalah non-negatif, jadi itu berarti bisa 0, dan kita membutuhkan angka antara 1 dan 10, inklusif.

Apa yang kita dapatkan, dengan kata lain, ketika kita memanggil random.Next(10) adalah angka dari 0 hingga 9. Menambahkan 1 ke angka itu berarti angka itu akan menjadi angka antara 1 dan 10 sebelum kita menetapkannya ke jawaban .

Jika sekarang kita meninjau kembali dua baris itu, seharusnya lebih masuk akal apa yang terjadi:

Random random = new Random();  
int answer = random.Next(10) + 1; 

Pertama, kita membuat objek baru berdasarkan Random kelas, yang kami sebut acak . Kemudian, kami meminta acak memanggil Next() metode dan berikan nilai 10 ke metode itu. Kemudian, ketika metode tersebut telah dieksekusi, kami menambahkan 1 ke hasilnya, dan kemudian menyimpan nilainya dalam int disebut jawaban .

Itu dia! Kamu sudah selesai! Sekarang, setiap kali Anda menjalankan program ini, pengguna Anda harus menebak nilai acak yang Anda perintahkan untuk dihasilkan oleh komputer.

.

Lihat Seberapa Jauh Anda Telah Datang

Anda telah membangun dan memahami–semoga–semua aspek dari game konsol sederhana. Sepanjang seri ini, Anda telah mempelajari banyak aspek pemrograman, mulai dari bagaimana program dijalankan, bagaimana membangun aplikasi, bagaimana Anda menulis kode, kode apa yang harus ditulis, variabel, loop, cabang, objek, kelas.

Apa yang harus Anda ketahui, bagaimanapun, adalah bahwa apa yang telah Anda pelajari sekarang hanyalah dasar dari apa yang perlu Anda ketahui sebagai seorang programmer. Baik Anda ingin memulai jalur sebagai pengembang atau hanya ingin belajar cukup untuk mengesankan teman-teman Anda, pelajaran dalam artikel ini harus menjadi titik awal yang baik.

Saya harap Anda menikmati seri ini dan jika Anda tertarik untuk menjelajah lebih jauh. Pastikan Anda juga membaca artikel lain di komunitas Atlantik. Ke mana pun seri ini membawa Anda dari sini, nikmati pemrograman Anda! Pastikan untuk memeriksa solusi hosting VPS terdepan di pasar Atlantic.Net.

Seri Petunjuk

Ini adalah bagian 5 dari seri 5 bagian untuk Pengenalan Pemrograman

  1. Pengantar Pemrograman:Memulai
  2. Pengantar Pemrograman:Program Pertama Anda
  3. Pengantar Pemrograman:Variabel, Jenis, Dan Memanipulasi Data
  4. Pengantar Pemrograman:Kontrol Aliran
  5. Pengantar Pemrograman:Pemrograman Berorientasi Objek

Linux
  1. Bahasa Pemrograman C - Pendahuluan

  2. Cara Memulai Belajar Bahasa Pemrograman

  3. Bagaimana cara memanfaatkan objek VDSO dengan bahasa pemrograman Anda sendiri?

  1. Cara membuat kata sandi acak di linux menggunakan /dev/random

  2. Cara Menginstal Bahasa Pemrograman R di Fedora 35

  3. Cara:Pemrograman Socket dengan Python

  1. Cara Menginstal Bahasa Pemrograman Nim Di Linux

  2. Cara Menginstal Bahasa Pemrograman Go di Alpine Linux

  3. Bagaimana cara kerja nomor SO (objek bersama)?