Trong C#, một lớp tĩnh là một lớp không thể khởi tạo. Mục đích chính của việc sử dụng các lớp tĩnh trong C# là cung cấp các bản thiết kế của các lớp kế thừa của nó. Các lớp tĩnh được tạo bằng từ khóa tĩnh trong C# và. BỌC LƯỚI. Một lớp tĩnh chỉ có thể chứa các thành viên tĩnh. Bạn không thể tạo đối tượng cho lớp tĩnh
Ưu điểm của các lớp tĩnh
- Nếu bạn khai báo bất kỳ thành viên nào là thành viên không tĩnh, bạn sẽ gặp lỗi.
- Khi bạn cố gắng tạo một thể hiện cho lớp tĩnh, nó lại tạo ra lỗi thời gian biên dịch, bởi vì các thành viên tĩnh có thể được truy cập trực tiếp bằng tên lớp của nó
- Từ khóa tĩnh được sử dụng trước từ khóa lớp trong định nghĩa lớp để khai báo một lớp tĩnh
- Một thành viên lớp tĩnh được truy cập bởi tên lớp theo sau là tên thành viên.
Cú pháp của lớp tĩnh
static class classname
{
//static data members
//static methods
}
Bản trình diễn lớp tĩnh
namespace StaticConstructorsDemo
{
class MyCollege
{
//static fields
public static string CollegeName;
public static string Address;
//static constructor
static MyCollege[]
{
CollegeName = "ABC College of Technology";
Address = "Hyderabad";
}
}
class Program
{
static void Main[string[] args]
{
Console.WriteLine[MyCollege.CollegeName];
Console.WriteLine[MyCollege.Address];
Console.Read[];
}
}
}
Thành viên tĩnh
Có hai loại thành viên lớp tĩnh C#, tĩnh và không tĩnh
Thành viên không tĩnh
Đây là loại mặc định cho tất cả các thành viên. Nếu bạn không sử dụng từ khóa "tĩnh" để khai báo một trường/thuộc tính hoặc một phương thức thì có thể gọi là "Thành viên không tĩnh". Tính năng chính của thành viên không tĩnh là nó sẽ chỉ bị ràng buộc với đối tượng
Trường / Thuộc tính không tĩnh
Bộ nhớ được cấp phát khi đối tượng được tạo.
Phương thức không tĩnh
Các phương thức này có thể triển khai các thao tác trên các trường và thuộc tính không tĩnh
Thành viên tĩnh
Nếu bạn sử dụng từ khóa "tĩnh" để khai báo một trường/thuộc tính hoặc một phương thức, thì nó được gọi là "Thành viên tĩnh". Tính năng chính của thành viên không tĩnh là nó sẽ không bị ràng buộc với bất kỳ đối tượng nào. Nó có thể truy cập riêng lẻ với tên lớp. Nói cách khác, các thành viên tĩnh có thể truy cập trực tiếp mà không cần tạo một đối tượng.
Trường tĩnh / Thuộc tính
Bộ nhớ sẽ được cấp phát riêng lẻ, không có bất kỳ mối quan hệ nào với đối tượng.
Phương thức tĩnh
Các phương thức này chỉ có thể triển khai các thao tác trên các trường và thuộc tính tĩnh; .
Demo về thành viên tĩnh
using System;
using System.Linq;
using System.Text;
using System.Collections.Generic;
namespace StaticConstructorsDemo
{
class Student
{
//non-statcic data members
public string StudentName;
public string Course;
public void SetStudentDetails[string StuName, string Cou]
{
StudentName = StuName;
Course = Cou;
}
public void DisplayStudentDetails[]
{
Console.WriteLine[StudentName + " - " + Course];
}
//static data members
public static string CollegeName = "ABC College of Technology";
public static string CollegeAddress = "Hyderabad";
//static methods
public static void DisplayCollegeDetails[]
{
Console.WriteLine[CollegeName];
Console.WriteLine[CollegeAddress];
}
}
class Program
{
static void Main[string[] args]
{
//access static members
Student.DisplayCollegeDetails[];
//acess non-static members
Console.WriteLine[];
Student s1= new Student[];
Student s2 = new Student[];
s1.SetStudentDetails["Sarath","MCA"];
s1.SetStudentDetails["Syam","MBA"];
s1.DisplayStudentDetails[];
s2.DisplayStudentDetails[];
Console.Read[];
}
}
}
Trình xây dựng tĩnh
Hàm tạo tĩnh được sử dụng để khởi tạo các thành viên dữ liệu tĩnh, trong khi hàm tạo thông thường [hàm tạo không tĩnh] được sử dụng để khởi tạo các thành viên dữ liệu không tĩnh
Trong hướng dẫn lập trình C# này, chúng ta sẽ xem cách chúng ta có thể làm việc với các lớp và phương thức tĩnh trong C#. Chúng ta cũng sẽ xem xét một số ưu điểm và nhược điểm của việc sử dụng chúng trong. NET ứng dụng và phần mềm
Đọc. Cơ sở cho lập trình hướng đối tượng [OOP]
Lớp tĩnh là gì?
Lớp tĩnh trong C# là lớp không thể kế thừa hoặc khởi tạo và chỉ chứa các thành viên tĩnh. Loại lớp này chỉ có thể chứa các thành viên tĩnh bao gồm các trường, thuộc tính, phương thức, v.v.
Các lớp tĩnh được niêm phong, ngăn không cho chúng được mở rộng. Bạn có thể tận dụng các lớp tĩnh để lưu trữ tiện ích hoặc phương thức trợ giúp. Nếu bạn cần gọi một phương thức tĩnh từ một lớp khác, bạn có thể thực hiện bằng cách sử dụng tên lớp, theo sau là tên phương thức, như minh họa trong ví dụ cú pháp bên dưới
ClassName.MethodName[];
Ví dụ: nếu bạn có một lớp tĩnh có tên là Tiện ích với một phương thức tĩnh có tên là Thêm, bạn có thể gọi nó như thế này
Utilities.Add[5, 10];
Đây là một ví dụ đơn giản về cách tạo một lớp tĩnh trong C#
public static class Utilities { public static void DisplayMessage[string message] { Console.WriteLine[message]; } }
Như bạn có thể thấy, lớp Tiện ích chứa một phương thức tĩnh duy nhất có tên là DisplayMessage[]. Để gọi phương thức này, chúng ta chỉ cần sử dụng đoạn mã C# sau
Utilities.DisplayMessage["This is a test message..."];
Đọc. Công cụ C# cho chất lượng mã
Tại sao chúng ta cần một lớp tĩnh?
Một lớp tĩnh được sử dụng để nhóm các thành viên tĩnh có liên quan của một lớp. Các lớp tĩnh không thể được khởi tạo và do đó không có sẵn để sử dụng giống như một lớp thông thường. Mục đích chính của một lớp tĩnh là hạn chế việc tạo các thể hiện của một lớp và cải thiện khả năng đọc mã bằng cách nhóm các chức năng liên quan lại với nhau mà không cần phải liên kết với một đối tượng
Ví dụ: nếu bạn muốn tạo một tập hợp các phương thức trợ giúp để làm việc với ngày tháng, bạn có thể đặt tất cả các phương thức trợ giúp của mình vào một thư viện lớp độc lập và thêm thư viện làm tài liệu tham khảo khi cần trong dự án của bạn
Phương thức tĩnh là gì?
Một phương thức tĩnh là một phương thức được khai báo trong một lớp bằng cách chỉ định từ khóa tĩnh trong chữ ký của phương thức. Vì một phương thức tĩnh thuộc về một lớp chứ không phải một thể hiện của lớp, nên bạn không cần một thể hiện của một lớp để gọi các thành viên tĩnh của nó. Các phương thức tĩnh thường được sử dụng cho các hàm tiện ích hoặc hàm trợ giúp không cần hoạt động với bất kỳ thể hiện cụ thể nào của một lớp
Trong C#, các phương thức tĩnh được khai báo bằng từ khóa tĩnh. Ví dụ
public static void Main[] { Console.WriteLine["Hello, world!"]; }
Để gọi một phương thức tĩnh, bạn sử dụng tên lớp theo sau là tên phương thức như được hiển thị ở đây. Tên lớp. Tên phương thức []
Ví dụ: nếu bạn có một phương thức tĩnh có tên GetDbContext[] trong một lớp có tên DbHelper, bạn sẽ gọi nó như thế này. DbTrợ giúp. GetDbContext[]
Điều quan trọng cần nhớ là các phương thức tĩnh chỉ có thể truy cập các thành viên tĩnh khác trong lớp của chúng. Họ không thể truy cập các thành viên không tĩnh [biến thể hiện và phương thức] của lớp riêng của họ hoặc bất kỳ lớp nào khác
Một cách sử dụng phổ biến của các phương thức tĩnh là tạo các phương thức mở rộng. Các phương thức mở rộng cho phép bạn thêm các phương thức mới vào các kiểu hiện có mà không phải sửa đổi kiểu ban đầu
Những điểm cần nhớ về các phương thức tĩnh
Khi làm việc với các phương thức tĩnh trong C#, có một số điểm bạn cần lưu ý. Đầu tiên, các phương thức tĩnh chỉ có thể được gọi từ các thành viên tĩnh khác của cùng một lớp. Chúng không thể được gọi từ các phương thức thể hiện. Thứ hai, các phương thức tĩnh không thể truy cập các biến thể hiện. Họ chỉ có thể truy cập các biến tĩnh. Cuối cùng, các phương thức tĩnh không thể bị ghi đè
Đọc. Công cụ năng suất cho. nhà phát triển NET
Trình xây dựng tĩnh là gì?
Hàm tạo tĩnh là một loại hàm tạo đặc biệt dành cho loại chỉ chứa các thành viên tĩnh. Sự khác biệt quan trọng nhất giữa các hàm tạo tĩnh và thể hiện là các hàm tạo tĩnh không thể bị ghi đè, chúng cũng không có bất kỳ công cụ sửa đổi truy cập nào. Chúng cũng không có tham số, vì vậy bạn không thể sử dụng chúng để truyền vào bất kỳ giá trị nào khi khởi tạo đối tượng. Lưu ý rằng mặc dù bạn có thể có hàm tạo tĩnh cho một lớp nhưng bạn không thể có hàm hủy tĩnh
Hàm tạo tĩnh được sử dụng để khởi tạo bất kỳ dữ liệu tĩnh nào của lớp mà nó thuộc về hoặc để thực hiện một thao tác cụ thể chỉ phải thực hiện một lần. Các hàm tạo tĩnh sẽ chỉ được gọi một lần cho mỗi lớp trên mỗi hợp ngữ. Tuy nhiên, điều này tự động xảy ra khi bạn truy cập một thành viên tĩnh của lớp hoặc tạo phiên bản đầu tiên của lớp
Tại sao chúng ta cần các phương thức tĩnh?
Có một số lý do tại sao các nhà phát triển có thể muốn sử dụng các phương thức tĩnh trong mã C# của họ. Đầu tiên, các phương thức tĩnh có thể được sử dụng như các hàm tiện ích không yêu cầu một thể hiện của một lớp được gọi. Điều này có thể hữu ích khi bạn muốn thực hiện một số thao tác không nhất thiết cần truy cập vào bất kỳ dữ liệu hoặc trạng thái nào trong một lớp
Một ưu điểm khác của các phương thức tĩnh là chúng có thể được gọi mà không cần phải tạo một thể hiện của một lớp. Điều này có thể hữu ích khi bạn muốn thực hiện một số tác vụ khởi tạo một lần hoặc khi bạn muốn gọi một phương thức từ bên trong một phương thức khác mà không phải tạo một thể hiện của lớp chứa
Các lập trình viên có thể tận dụng các phương thức tĩnh để triển khai mẫu Singleton, đây là mẫu thiết kế đảm bảo rằng một lớp chỉ có một thể hiện
Những điểm cần nhớ về các phương thức tĩnh
Các phương thức tĩnh được liên kết với một lớp chứ không phải một thể hiện của nó. Do đó, bạn không cần một thể hiện để gọi một phương thức tĩnh. Bạn có thể tận dụng các phương thức tĩnh để thực hiện các tác vụ khởi tạo, chẳng hạn như khởi tạo kết nối cơ sở dữ liệu
Suy nghĩ cuối cùng về các lớp và phương thức tĩnh trong C#
Các lớp và phương thức tĩnh giúp viết mã có thể tái sử dụng. Tuy nhiên, bạn không thể dễ dàng thử nghiệm các phương thức tĩnh hoặc thậm chí kiểm tra đơn vị các phương thức tĩnh một cách dễ dàng. Để kiểm tra đơn vị các phương thức tĩnh, bạn có thể sử dụng các đại biểu. Các lớp tĩnh không thể được mở rộng từ bất kỳ lớp nào. Tuy nhiên, chúng mở rộng ngầm lớp Object