Kelas ialah salah satu jenis asas dalam C#. Kita boleh memikirkan kelas sebagai rangka tindakan untuk objek yang berkaitan dengan domain masalah. Ia adalah templat untuk objek yang kami cipta, mentakrifkan struktur dan tingkah laku yang akan dikongsi oleh set objek yang dibuat daripada kelas ini. Ringkasnya, kelas adalah pemotong kuki, dan objeknya adalah kuki itu sendiri.
Kelas juga menyokong enkapsulasi, konsep penting dalam pengaturcaraan berorientasikan objek. Ini bermakna menggabungkan data dan operasi yang memproses data di satu tempat dan menyediakan API mudah kepada pengguna objek itu. Kelas membolehkan kami merangkum data dan menyembunyikan butiran yang tidak berkaitan daripada kelas lain.
Kita boleh membuat kelas menggunakan kata kunci kelas diikuti dengan nama kelas.
// User.cs public class User{ private string name; private int salary; public void Promote(){ salary += 1000; } }
Dalam contoh di atas, Pengguna ialah kelas yang mewakili pengguna. Kelas ini merangkumi dua keping data - nama dan gaji. Ini dipanggil medan kelas dan mengandungi nama dan gaji pengguna. Ia juga mempunyai kaedah yang dipanggil Promote() untuk menaikkan gaji pengguna.
Setiap kelas mempunyai pengubah suai akses berkaitan yang mengawal sama ada kelas itu akan kelihatan kepada kelas lain. Di bawah ialah lima nilai yang mungkin kami sediakan untuk pengubah suai akses.
Pengubah suai akses | Penerangan th> |
---|---|
Awam | Akses tanpa had |
Dilindungi kepada kelas | Dalaman |
Dilindungi Dalaman | |
Peribadi | |
Untuk mencipta contoh kelas, kita boleh menggunakan kata kunci |
mengira bilangan bait yang diperlukan untuk data objek dan memperuntukkan memori untuk objek. Ia kemudian mengembalikan penunjuk (juga dipanggil rujukan) kepada objek yang baru dibuat. var alice = new User();
var bob = new User();
Constructor
Dalam contoh di atas, apabila kami mencipta contoh kelas Pengguna (iaitu alice dan bob), kami tidak memberikan nama asal dan gaji mereka. Biasanya, objek yang baru dicipta memerlukan beberapa maklumat untuk melakukan tugasnya, dan pembina digunakan untuk memulakan data kelas.
public class User{ private string name; private int salary; public User(string name, int salary){ this.name = name; this.salary = salary; } public void Promote(){ salary += 1000; } }
Memiliki pembina membolehkan kami melepasi nama dan gaji pengguna apabila mencipta contoh baharu.
var alice = new User("Alice", 50000); var bob = new User("Bob", 45000);
Boleh terdapat berbilang pembina dalam satu kelas. Mempunyai berbilang pembina membolehkan kami memulakan kelas dengan cara yang berbeza. Sebagai contoh, kita boleh menambah pembina lain yang hanya mengambil nama pengguna dan memberikan gaji lalai.
public User(string name){ this.name = name; this.salary = 50000; }
Contoh
Contoh demonstrasi
using System; class Program{ static void Main(){ var alice = new User(); alice.Print(); var bob = new User(); bob.Print(); var chris = new User("Chris", 50000); chris.Print(); var debs = new User("Debs", 45000); debs.Print(); var scott = new User("Scott"); scott.Print(); } } public class User{ private string name; private int salary; public User(){ } public User(string name){ this.name = name; this.salary = 50000; } public User(string name, int salary){ this.name = name; this.salary = salary; } public void Promote(){ salary += 1000; } public void Print(){ Console.WriteLine($"{name}: {salary}"); } }
: 0 : 0 Chris: 50000 Debs: 45000 Scott: 50000
Atas ialah kandungan terperinci Terangkan konsep kelas dalam C#. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!