Cập nhật thông tin chi tiết về Tìm Hiểu Về Hàm Xây Dựng, Hàm Hủy Trong C# mới nhất trên website Tvzoneplus.com. Hy vọng nội dung bài viết sẽ đáp ứng được nhu cầu của bạn, chúng tôi sẽ thường xuyên cập nhật mới nội dung để bạn nhận được thông tin nhanh chóng và chính xác nhất.
Trong bài học hôm nay chúng ta sẽ cùng tìm hiểu về 2 hàm đặc biệt trong c# đó là hàm xây dựng (Constructor) và hàm hủy (Destructor)
1. Hàm xây dựng
Trong C#, constructor là một phương thức đặc biệt được gọi tự động tại thời điểm đối tượng được tạo ra.
Mục đích của hàm xây dựng dùng để khởi tạo dữ liệu cho dữ liệu thành viên.
Constructor phải trùng tên với tên lớp và không có kiểu trả về kể cả kiểu void.
Trong c# có 2 loại hàm xây dựng đó là
Hàm xây dựng mặc nhiên
Hàm xây dựng có đối số
Hàm xây dựng mặc nhiên
Một constructor không có đối số được gọi là constructor mặc định. Nó được gọi tại thời điểm tạo đối tượng.
Nếu bạn không cung cấp hàm tạo cho lớp của mình, C# sẽ tạo một hàm theo mặc định để khởi tạo đối tượng và đặt các biến thành viên thành các giá trị mặc định tùy thuộc vào kiểu dữ liệu của nó.
Mình sẽ liệt kê giá trị mặc định của một số kiểu dữ liệu hay sử dụng sau:
using System; namespace ConsoleApp1 { class People { int old; string name; double height; public People() { Console.WriteLine("Goi ham xay dung mac nhien"); Console.WriteLine("Name" + name); Console.WriteLine("Old: " + old); Console.WriteLine("height: " + height); } } class Program { static void Main(string[] args) { People p = new People(); Console.ReadKey(); } } }Và kết quả sau khi thực thi đoạn code trên:
Lưu ý: nếu chúng ta không tạo bất kỳ hàm xây dựng nào thì chương trình sẽ tự tạo cho chúng ta hàm xây dựng mặc nhiên. Chúng ta chỉ có 1 cách duy nhất để khởi tạo đối tượng.
Hàm xây dựng có tham số
Một constructor có tham số được gọi là hàm xây dựng có tham số.
Nó được sử dụng để cung cấp các giá trị khác nhau cho các đối tượng riêng biệt
using System; namespace ConsoleApp1 { class People { int old; string name; double height; public People() { } public People(int old, string name, double height) { chúng tôi = old; chúng tôi = name; this.height = height; } public People(int old, string name) { chúng tôi = old; chúng tôi = name; } public void Show() { Console.WriteLine("Old: " + old + ",nName: " + name + ",nHeight: " + height); } } class Program { static void Main(string[] args) { People p = new People(); p.Show(); People p1 = new People(20, "Nguyen Van A", 180); p1.Show(); People p2 = new People(18, "Nguyen Van A"); p2.Show(); Console.ReadKey(); } } }Và kết quả sau khi thực thi đoạn code trên:
Như vậy nếu chúng ta định nghĩa bao nhiêu hàm xây dựng, thì chúng ta chỉ có bao nhiêu cách khởi tạo đối tượng. Ở ví dụ trên, chúng ta chỉ định nghĩa 3 hàm xây dựng, vậy nên chúng ta chỉ có 3 cách khởi tạo đối tượng.
2. Hàm hủy
Một hàm hủy hoạt động ngược lại với hàm tạo, Nó phá hủy các đối tượng của các lớp. Nó chỉ có thể được định nghĩa một lần trong một lớp. Giống như các hàm xây dựng, hàm hủy được gọi tự động.
using System; namespace ConsoleApp1 { class People { public People() { } ~People() { } } class Program { static void Main(string[] args) { People p = new People(); Console.ReadKey(); } } }Điểm lưu ý:
Hàm hủy là duy nhất cho lớp của nó, tức là không thể có nhiều hơn một hàm hủy trong một lớp.
Hàm hủy không có kiểu trả về và có cùng tên với tên lớp
Hàm hủy được phân biệt với một hàm xây dựng vì ký hiệu ~trước tên của nó.
Hàm hủy không chấp nhận bất kỳ tham số nào và không được sửa đổi hàm hủy
Hàm hủy không thể được định nghĩa trong Cấu trúc. Hàm hủy chỉ được sử dụng với các lớp.
Hàm hủy không thể bị overloaded hoặc kế thừa. (overload là gì mình sẽ cùng tìm hiểu trong một bài khác)
Hàm hủy được gọi khi chương trình thoát.
Destructor được gọi là ngầm định bởi trình thu thập Rác .NET framework và do đó, chúng ta không cần quan tâm đến hàm hủy này làm gì.. 🙂
3. Lời kết
Như vậy là chúng ta đã cùng tìm hiểu xong về hàm xây dựng và hàm hủy trong c# là gì rồi.
Tìm Hiểu Hàm Trong C#
Khi mình muốn thực thi một đoạn code nào nó nhiều lần, thay vì phải copy đi copy lại đoạn code đó nhiều lần, dẫn đến chương trình chúng ta bị trùng lặp code rất nhiều, trong c# có function cho phép chúng ta thực thi đoạn code nào đó nhiều lần mà không cần phải copy lại code, mà chỉ cần gọi tên hàm.
Vậy cách sử dụng hàm ( function) trong c# như thế nào? Có bao nhiêu cách để truyền tham số vào hàm? Chúng ta cùng tìm hiểu trong nội dung tiếp theo.
Hàm () trong C# dùng để thực thi một khối lệnh nào đó.
Trong đó:
Tên hàm: Nó là một tên duy nhất được sử dụng để gọi hàm. Ví dụ: getValue(), Add(int a, int b)…
Kiểu trả về: Nó được sử dụng để chỉ rõ kiểu dữ liệu của hàm được trả về.
Thân hàm: Nó là khối lệnh sẽ được thực thi khi hàm được gọi.
Quyền truy cập: Nó được sử dụng để xác định khả năng truy cập hàm trong ứng dụng.
Tham số: Nó là một danh sách các tham số mà chúng ta truyền vào khi gọi hàm
Và kết quả sau khi thực thi đoạn code kết:
Hàm có tham số nhưng không có kiểu trả về
Và kết quả sau khi thực thi đoạn code trên:
Hàm có tham số và có kiểu trả về
Và kết quả sau khi thực thi đoạn code trên:
Như vậy là chúng ta đã cùng tìm hiểu về hàm là gì, ví dụ một số loại hàm. Phần tiếp theo mình cùng tìm hiểu một phần quan trong đó là cách gọi hàm có tham số.
3. Cách gọi hàm có tham số
Trong c# có 3 cách gọi hàm đó là gọi bằng giá trị ( call by value), gọi bằng tham chiếu ( call by Reference) và dùng tham số out.
Gọi bằng giá trị (call by value)
Trong C#, gọi bằng giá trị tức là tham số truyền vào là bản sao của giá trị gốc, vì vậy dù cho bên trong thân hàm có thay đổi giá trị của tham số truyền vào thì sau khi kết thúc gọi hàm thì giá trị gốc vẫn không thay đổi.
Trong ví dụ sau, chúng ta truyền tham số giá trị khi gọi hàm:
Và kết quả sau khi thực thi đoạn code trên:
Gọi bằng tham chiếu (call by Reference)
C # cung cấp một từ khóa ref để truyền đối số dưới dạng tham chiếu. Tức là tham số truyền vào bằng địa chỉ ô nhớ của biến gốc vì vậy bên trong thân hàm thay đổi giá trị tham số truyền vào thì giá trị gốc cũng thay đổi theo..
Và kết quả sau khi thực thi đoạn code trên:
Tham số out
Tham số out giống như kiểu tham chiếu, ngoại trừ việc nó không yêu cầu biến khởi tạo trước khi truyền.
Và kết quả sau khi thực thi đoạn code trên:
Như vậy mình chỉ cần phân biệt ref và out như sau:
Giá trị phải được khởi tạo trước
Bên trong thân hàm có thể đọc vào thay đổi giá trị nó
Giá trị không được khởi tạo trước và bên trong thân hàm không đọc được nó cho đến khi nó được gán giá trị
Hàm phải gán giá trị cho biến out trước khi trả giá trị về
4. Lời kết
Tìm Hiểu Hàm Left Trong Excel Và Cách Sử Dụng Hàm Left
Khi sử dụng excel bạn không thể nào bỏ qua hàm LEFT thông dụng. Tuy nhiên, không ít người gặp phải khó khăn khi áp dụng nó trong thực hiện bảng tính. Để bạn đọc có thể hiểu hơn chúng tôi sẽ hướng dẫn về cách sử dụng hàm LEFT chi tiết.
Khái niệm hàm LEFT trong Excel
Hàm LEFT trả về một hoặc nhiều ký tự đầu tiên trong chuỗi. Bên cạnh đó, nó còn được được gọi là hàm cắt chuỗi ký tự bên trái.
Cú pháp hàm LEFT
=LEFT (text;[num_chars]) ADVERTISEMENT
Trong đó:
Text: Đối số bắt buộc. Nó là chuỗi văn bản, tham chiếu ô tới chuỗi các ký tự cần trích xuất.
Num_chars: Đối số tùy chọn.
Num_chars có điều kiện là phải lớn hơn hoặc bằng không. Nếu num_chars đưa ra kết quả < 0 thì hàm này sẽ được trả về là lỗi #VALUE!. Trong trường hợp Num_chars vượt quá độ dài văn bản, hàm LEFT sẽ trả về toàn bộ văn bản.
Còn trường hợp khác đó là các bạn bỏ qua num_chars thì nó sẽ được hiểu mặc định num_chars = 1.
Ví dụ minh họa
Bài toán đặt ra là: Để trích xuất 9 ký tự đầu tiên tính từ văn bản cơ trong ô A2 với dòng chữ chúng tôi ta sẽ dùng công thức như sau:
=LEFT (A2, 9)
Lúc này kết quả trả về sẽ là: tinhocvan
Hoặc tham chiếu đến ô chứa chuỗi văn bản.
Hàm LEFT là một loại hàm văn bản. Do đó, nó sẽ trả về kết quả là chuỗi văn bản, ngay cả trong trường hợp giá trị nguồn là số. Khi thực hiện hàm LEFT với dữ liệu số, bạn cần kết hợ với hàm VALUE để kết quả trả về là số.
Hướng dẫn cách sử dụng hàm LEFT
Hàm LEFT khá thông dụng. Bởi vậy cách sử dụng hàm LEFT được xem là kiến thức cơ bản mà bất cứ ai sử dụng Excel cũng nên biết. Trên thực tế các hàm trong Excel không hề khó sử dụng, bạn chỉ cần bỏ công tìm hiểu một chút là có thể thành thạo.
Cách sử dụng hàm LEFT để phân xuất chuỗi ký tự con
Trong trường hợp sử dụng hàm LEFT để phân xuất một phần của chuỗi văn bản đứng trước một ký tự nhất định, ta làm một ví dụ để tìm hiểu cách làm:
Bạn cần lấy họ (first name) trong cột tên đầy đủ (full name) mà tiêu đề đã cho trước đó hoặc cần tách mã quốc gia trừ cột số điện thoại? Bạn cần lưu ý mỗi tên và mã chứa số lượng ký tự khác nhau.
Theo đó trong trường hợp họ và tên được phân cách bởi loại (dấu cách), ta sẽ tìm vị trí của ký tự khoảng trống được tính nhờ hàm SEARCH hoặc FIND, cụ thể như sau:
=LEFT (A2, SEARCH(” “, A2))
Tiếp theo để có thể phát triển thêm công thức và loại đi khoảng trống sẵn có ta sẽ thực hiện trừ 1 từ kết quả của hàm SEARCH. Công thức:
=LEFT (A2, SEARCH(” “, A2)-1)
=LEFT (A2, SEARCH(“-“, A2)-1)
Công thức để tách chuỗi ký tự con đứng trước bất cứ kí tự nào đó được đúc kết là:
LEFT (chuỗi, SEARCH (ký tự,chuỗi)-1)
Cách dời n ký tự cuối khỏi chuỗi ký tự
Chức năng của hàm LEFT là phần xuất chuỗi ký tự con từ chuỗi ký tự văn bản có sẵn. Vậy khi muốn dời một số ký tự từ phần cuối của chuỗi văn bản, đồng thời lại đặt phần còn lại vào một ô khác cần làm như thế nào? Để giải được ví dụ trên ta sẽ kết hợp dùng hàm LEFT và LEN theo công thức sau:
LEFT (chuỗi, LEN(chuỗi) – số_kí_tự_muốn_dời)
Nguyên tắc hoạt động của công thức là: Hàm LEN lấy tổng số ký tự trong một chuỗi có trong văn bản tách rồi trừ đi số lượng ký tự không mong muốn từ tổng độ dài của ký tự văn bản đó. Hàm LEFT lúc này đóng vai trò là trả về số ký tự còn lại cần lấy.
Ví dụ: Để dời 7 ký tự cuối cùng trong ô A2, bạn cần áp dụng công thức như sau:
=LEFT (A2, LEN(A2)-7)
Cách buộc hàm LEFT trả kết quả về là một số
Đặc tính của hàm LEFT là sẽ luôn luôn trả về cho bạn một kết quả là văn bản chữ. Thậm chí ngay cả khi bạn đặt một vài chữ số trong chuỗi ký tự, kết quả nhận được vẫn là văn bản.
Bởi vậy, câu hỏi được đặt ra cho nhiều người đó là làm thế nào để kết quả của hàm LEFT có thể giúp bạn trả về là con số chứ không phải chuỗi văn bản? Rất dễ dàng, bạn chỉ cần sử dụng hàm VALUE. Công thức giúp bạn sử dụng đó là:
VALUE(LEFT ())
Ví dụ minh họa:
Làm cách nào để phân xuất 2 ký tự đầu tiên của chuỗi trong ô A2. Sau đó chuyển kết quả sang con số cần dùng, bạn sẽ áp dụng công thức sau:
=VALUE(LEFT (A2,2))
Kết quả trả về tương tự bảng sau:
Tại sao hàm LEFT bị lỗi và cách khắc phục
Cách sử dụng hàm LEFT không chỉ đòi hỏi bạn áp dụng đúng công thức mà còn phải đáp ứng được các điều kiện cần và đủ. Nếu hàm LEFT không thực hiện được trong trang tính, bạn sẽ vướng phải một số nguyên nhân quan trọng như sau:
NUM_CHARS nhỏ hơn 0
Nếu công thức hàm LEFT trả về #VALUE (lỗi), để biết được thao tác đã sai ở đâu bạn cần kiểm tra lại giá trị của num_chars trong công thức. Theo đó nếu num_chars là số âm, quá đơn giản bạn chỉ cần loại bỏ các cấu trúc lỗi là xong.
Thông thường, lỗi cách sử dụng hàm LEFT này xuất hiện khi num_chars mang nhiều chức năng khác nhau. Để khắc phục, bạn chỉ cần copy hàm đó vào một ô khác hay chọn trên thanh công thức. Trên thanh công thức bạn chỉ cần nhấn F9 để xem hàm tương đương nhận thấy giá trị nhỏ hơn 0, nên kiểm tra lại hàm lỗi chi tiết nhất và sửa chữa chúng
Ví dụ:
Phân xuất mã quốc gia từ số điện thoại bất kỳ được cung cấp sẽ áp dụng công thức sau:
LEFT (A2, SEARCH(“-“, A2)-1)
Theo đó, loại hàm SEARCH trong phần num_chars sẽ tìm ra vị trí của dấu (-) đầu tiên trong chuỗi nguồn. Bạn có thể thêm thao tác trừ 1 để xóa dấu (-) khỏi kết quả trả về. Nếu bạn thay thế -1 với -11, kết quả sẽ là lỗi #VALUE. Lý do vì num_chars tương đương với số âm
Khoảng trống đứng đầu trong văn bản gốc
Bạn nên kiểm tra những khoảng trống hay còn gọi là dấu cách ở đầu giá trị nguồn. Ngoài ra, nếu bạn đã thực hiện copy dữ liệu từ một trang web hay từ một loại nguồn bên ngoài, sẽ là nguyên nhân gây ra lỗi của công thức hàm.
Theo đó, cách tốt nhất để loại bỏ những dấu cách trong đầu trang tính. Ngoài ra, bạn nên sử dụng hàm TRIM hoặc CELL CLEANER trong công thức tính.
Trong Excel, hầu như ngày tháng được mặc định là số nguyên như từ 1/1/1900 là số 1. Để hiểu hơn về c ách sử dụng hàm LEFT trong trường hợp này bạn có thể áp dụng:
Trong ô A1 có 11- tháng 1 – 2018, khi thực hiện phân xuất bằng công thức hàm LEFT (A1,2). Lúc này bạn sẽ nhận được kết quả là 42 – 2 chữ số đầu tiên trong số 42746 biểu thị ngày 11/1/2018.
Tìm Hiểu Về Tham Số Và Đối Số Trong Hàm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
int getValueFromUser()
{
std::cout << "Enter an integer: ";
int input{};
return input;
}
void printDouble(int value)
{
std::cout << value << " doubled is: " << value * 2 << 'n';
}
int main()
{
int num { getValueFromUser() };
printDouble(num);
return 0;
}
Bạn đang xem bài viết Tìm Hiểu Về Hàm Xây Dựng, Hàm Hủy Trong C# trên website Tvzoneplus.com. Hy vọng những thông tin mà chúng tôi đã chia sẻ là hữu ích với bạn. Nếu nội dung hay, ý nghĩa bạn hãy chia sẻ với bạn bè của mình và luôn theo dõi, ủng hộ chúng tôi để cập nhật những thông tin mới nhất. Chúc bạn một ngày tốt lành!