Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Terangkan konsep kelas dalam C#

Terangkan konsep kelas dalam C#

WBOY
WBOYke hadapan
2023-08-27 22:45:141412semak imbas

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.

Akses terhad kepada perhimpunan Akses kepada perhimpunan atau kelas terbitan terhad Tiada akses luaran Untuk mencipta contoh kelas, kita boleh menggunakan kata kunci baru. Pengendali
Pengubah suai akses Penerangan th>
Awam Akses tanpa had
Dilindungi kepada kelas Dalaman
Dilindungi Dalaman
Peribadi
baharu

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();
Kemudian, simpan rujukan ini dalam pembolehubah di sebelah kiri tanda sama. Dalam contoh di atas, Alice dan Bob menyimpan rujukan atau penunjuk kepada objek yang baru dibuat.

Dalam C#, konvensyen penamaan kelas mengikut PascalCase, iaitu, menggunakan huruf besar huruf pertama setiap perkataan dalam kata majmuk, seperti StringBuilder, UserController, dll. Tidak perlu mencipta kelas dalam fail yang sepadan dengan nama kelas. Walau bagaimanapun, kebanyakan projek C# menggunakan konvensyen ini.

Terangkan konsep kelas dalam C#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.

Kami boleh menambah pembina untuk menentukan nama dan gaji untuk pengguna seperti ini:

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

Output

: 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!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam