Kelas C#

PHPz
PHPzasal
2024-09-03 15:26:02616semak imbas

Dalam artikel ini, kita akan belajar tentang Kelas C#. Kelas ialah cetak biru bagi objek yang dicipta. Dalam senario masa nyata, mari kita andaikan Kereta adalah kelas. Jadi kereta itu mempunyai ciri-ciri tertentu seperti bentuk, kelajuan, dalaman, warna, dan banyak lagi perkara lain.  Oleh itu, banyak syarikat membuat kereta yang memenuhi keperluan ini. Contohnya setiap kereta Maruti, Hyundai mempunyai objek ini. Kita boleh menentukan kelas bernama kereta dan mencipta objek mengikut ciri kereta. Begitu juga dalam OOP atau program berorientasikan objek, kelas mempunyai banyak sifat seperti acara, kaedah, medan, dll.  Kelas membolehkan pengaturcara mencipta jenis objek tersuai mengikut keperluannya.

Sintaks:

Kami boleh mentakrifkan kelas dengan kata kunci yang dinamakan kelas diikuti dengan nama kelas yang akan kami tentukan dan ia disertakan dengan sepasang pendakap kerinting.

Class Test {  }

Contoh untuk Melaksanakan Kelas C#

Di bawah ialah contoh yang menunjukkan cara ia boleh dilaksanakan

Contoh #1

Kelas Abstrak

Kod:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
public abstract class Animals
{
public abstract void aml ();      // abstract class method
}
public class Cat : Animals     // inheritance
{
public override void aml()
{
Console.WriteLine("This is first animal");
}
}
public class Dog : Animals   // another class inheritance
{
public override void aml()
{
Console.WriteLine("This is second animal");
}
}
public class main_method
{
public static void Main()      // main method
{
Animals a;
a = new Cat();
a.aml();
a = new Dog();
a.aml();
Console.ReadLine();
}
}

Penjelasan: Dalam contoh di atas, terdapat kelas abstrak Haiwan dengan kaedah abstrak aml(). Haiwan Kelas adalah wujud dalam kelas kanak-kanak 'Kucing' dan satu lagi kelas kanak-kanak 'Anjing'. Dalam kaedah utama, 'a' ialah objek kelas Haiwan yang tidak boleh instantiated. Kelas abstrak digunakan pada masa pewarisan yang mengandungi pembina dan pemusnah. Gantikan kata kunci adalah satu kemestian sebelum kaedah abstrak yang digunakan untuk mewarisi kelas anak.

Output:

Kelas C#

Contoh #2

Kelas Tertutup

Kod:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
public class Animal
{
public virtual void sleep()
{
Console.WriteLine("Animals are sleeping");
}
public virtual void eat()
{
Console.WriteLine("Animals are eating");
}
}
public class Cat : Animal    // inheritance
{
public override void sleep()
{
Console.WriteLine("Cat is sleeping");
}
public sealed override void eat()  // sealed method
{
Console.WriteLine("Cat is eating");
}
}
public class Dog : Cat  // inheritance
{
public override void Sleep()
{
Console.WriteLine("Sleeping");
}
public override void eat()
{
Console.WriteLine("Eating");
}
}
public class TestSealed
{
public static void Main()    // main method
{
Dog d = new Dog();
d.eat();
d.fly();
}
}

Penjelasan: Dalam contoh di atas, terdapat kaedah tertutup yang digunakan untuk menghalang kelas lain diwarisi. Jadi dalam kes ini apabila kita cuba mewarisi kelas tertutup, pengkompil membaca kata kunci yang dimeterai dan akan memberikan ralat. Oleh itu ia tidak boleh ditindih.

Output:

Kelas C#

Contoh #3

Kelas Statik

Kod:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
class Office
{
public static string Name;          // static fields
public static string Location;
static Office()        // constructor
{
Name = "Microsoft";
Location = "Hyderabad";
}
}
class Program
{
static void Main(string[] args)
{
Console.WriteLine(Office.Name);
Console.WriteLine(Office.Location);
Console.Read();
}
}

Penjelasan: Dalam contoh di atas, terdapat kelas statik dan kata kunci statik digunakan untuk kelas statik yang menjadikan kelas tidak boleh serta-merta. Ia terdiri daripada nama dan lokasi ahli statik. Dalam kaedah utama, kami mengakses ahli data statik pejabat kelas. Objek untuk kelas statik tidak boleh dibuat. Kelas statik tidak boleh diwarisi daripada mana-mana kelas lain.

Output:

Kelas C#

Contoh #4

Kelas Separa

Kod:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
// partial class1.cs
public partial class Class1
{
private string EmpName;
private int EmpId;
public Class1(string a, int t)
{
this.EmpName = a;
this.EmpId = t;
}
}
// partial class2.cs
public partial class Class1
{
public void Display()
{
Console.WriteLine("Employee name is : " + EmpName);
Console.WriteLine("Employee Id is : " + EmpId);
}
}
public class Class
{
private string EmpName;
private int EmpId;
public Class(string a, int t)
{
this.EmpName = a;
this.EmpId = t;
}
public void Display()
{
Console.WriteLine("Employees name is : " + EmpName);
Console.WriteLine("Employee Id is : " + EmpId);
}
}

Penjelasan: Dalam contoh di atas, kelas separa dilaksanakan. Ia boleh digunakan apabila kita mempunyai kelas yang panjang. Jadi untuk memudahkan kod kita boleh menentukan berbilang fail. Separa ialah kata kunci yang digunakan dengan jenis kelas ini. Jadi ia boleh dibahagikan kepada berbilang fail yang terdiri daripada kaedah dengan penggunaan kata kunci separa. Dalam separa class1.cs dan separa class2.cs ini digabungkan oleh pengkompil menjadi satu fail.

Output:

Kelas C#

Nota: Penentu akses membantu untuk mengakses ahli serta kelas itu sendiri.

Kesimpulan

Untuk mengakses mana-mana ahli kelas, kita harus menggunakan pengendali titik. Pengendali titik membantu memautkan nama objek kepada nama ahli. Kita boleh menentukan kaedah, pembina, pemusnah di dalam kelas.

Atas ialah kandungan terperinci Kelas C#. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:Penyegerakan Benang C#Artikel seterusnya:Penyegerakan Benang C#