Lớp và Phương thức trong trong C#.NET

Các ngôn ngữ lập trình luôn cho phép thiết kế trên 2 khái niệm chung cơ sở đó là dữ liệu và quản lý dữ liệu. Các ngôn ngữ truyền thống giống như C và Pascal hướng thủ tục nó thực hiện việc quản lý dữ liệu nhiều hơn trên dữ liệu của nó. Điều này dẫn tới một số hạn chế giống như là không thể sử dụng lại và thiếu khả năng duy trỳ.

  1. Lập trình hướng đối tượng

Từ những khó khăn đó ngôn ngữ lập trình hướng đối tượng ra đời. Nó thực hiện trên dữ liệu nhiều hơn là cách quản lý dữ liệu Lập trình hướng đối tượng coi định nghĩa các đối tượng giống như các thực thể và là tập hợp của các giá trị và được định nghĩa tập hợp của sự thực thi mà có thể thực hiện trên các giá trị đó.

  1. Đặc trưng nổi bật:

Lập trình hướng đối tượng cung cấp một số tính năng vượt trội mà được tích hợp từ ngôn ngữ lập trình thủ tục.

+ Abstraction (Trừu tượng): là đặc trưng của việc trích xuất duy nhất sự lấy thông tin về từ các đối tượng.

+ Encapsulation (Sự gói gọn): Cụ thể là một class chứa đựng những cái không cần thiết mà các class và các đối tượng khác dùng nó.

+ Inheritance: (Sự kế thừa): Kế thừa là một sử lý mà tạo một class dụa trên các thuộc tính và các phương thức của một class đã tồn tại.Một class đang tồn tại được gọi từ class mới. Đây là một cái rất đặc trưng trong lập trình hướng đối tượng nó giúp cho việc sử dụng lại kế thừa các phương thức và thuộc tính.

+ Polymorphism: (Đa hình): Đơn giản trong một trương trình bạn có nhiều phương thức được khai báo cùng tên nhưng với các tham số khác nhau và các hành động khác nhau.

  1. Object (Đối tượng)

– Một đối tượng là một thực thể hữu hình như ô tô, một bảng hoặc 1 tập tài liệu, bất cứ các đối tượng mà có thể mô tả  và có khả năng thực hiện một hành động nào đó.

– Mỗi một đối tượng trong ngôn ngữ lập trình là một sự chi định,trạng thái,hành động duy nhất.

– Các đối tượng lưu trữ nhận dạng và trạng thái của nó trong một trường(có thể coi như biến) mà bộc lộ nó bằng các phương thức.

  1. Lớp – Class

Một số các đối tượng có trạng thái và hành động chung nên có thể nhóm vào trong một nhóm coi như một lớp đơn. Giống như xe máy HonDa, xe máy Future, xe Atila có thể nhóm vào thành Class xe Motobike. Motobike là class mà HonDa, Future, Atila là các đối tượng.

  1. Khởi tạo Class:

Khái niệm chung của các lass trong ngôn ngữ lập trình hướng đối tượng thì class là một mẫu một bản thiết kế mà nó định nghĩa các trạng thái, hành động của tất cả các đối tượng nằm trong class đó.

Một class có thể bao gồm các trường, các phương thức tất cả được gọi chung là các phần tử dữ liệu của class.Trong C# việc khai báo một class bắt đầu với từ khóa class sau đó là tên của class.

  1. Chú ý:

Việc đặt tên một class cũng lên có một số chú ý như sau:

+ Tên class phải là một danh từ.

+ Không thể để trong trường hợp lẫn lộn tên, kí tự đầu tiên có thể viết Hoa.

+ Sẽ là đơn viết liên nhau nếu có nhiều kí tự, gắn gọn mô tả có ý nghĩa.

+ Không thể trùng từ khóa.

+ Không thể bắt đầu với một số.

  1. Việc minh họa các đối tượng:

Khi class được tạo, việc cần thiết là tạo một đối tượng của class đó để truy suất vào biến và các phưong thức của class đó. Trong C# một đối tượng được của class được tạo khi sử dụng từ khóa new. Khi đó trình biên dịch sẽ cấp phát bộ nhớ cho class này trả về một sự tham chiếu tới vùng bộ nhớ đó.

  1. Khái niệm chung về phương thức.

Các phương thức và các hàm được khai báo trong một class và có thể được thực hiện các thực thi trên các biến class. Chúng là một khối của đoạn code mà nắm giữ các tham số mà có thể trả về hoặc không trả về giá trị.

Mỗi một phương thức thực hiện một hành động của một đối tượng. nó có thể được truy suất thông qua việc gọi của  một object class được định nghĩa để gọi phương thức.

  1. Tạo các phương thức:

Các class được khai báo bên trong class và chỉ định kiểu trả về của mỗi một phương thức,tên của method và danh sách thành phần các tham số. Nó là một thành phần của class.

Có một số quy tắc khi đặt tên phương thức:

+ Không thể trùng với từ khóa.

+ Không thể có khoảng trắng.

+ Không thể bắt đầu với số.

+ Có thể bắt đầu với kí tự, dấu ( _ ) , @ .

Phươnd thức Main() là bắt buộc của một trương trình để chạy. Nếu một trương trình có nhiều hơn hai hay nhiều class thì cũng chỉ duy nhất có một hàm Main(). Nếu có nhiều hơn một hàm Main() chương trình không thể chạy được.

  1. Việc gọi các phương thức.

Bạn có thể gọi các phương thức trong một class bằng việc tạo một đối tượng của class. Để gọi một phương thức tên đối tượng và sau đó là (.) cuối cùng là tên phương thức và ().

Trong C# một phương thức luôn luôn có khả năng gọi một phương thức khác. Nhưng hầu hết các phương thức được goi từ hàm Main() nó là một sự đi vào của việc chạy chương trình.

  1. Các phương thức tĩnh.

Một phương thức mặc định được gọi từ đối tượng của class.Khi một phương thức có thể được gọi mà không cần qua bất kì đối tượng nào của class.Lúc đó bạn khai báo một phương thức static. Từ khóa static được dùng để khai báo phương thức static. Một phương thức static có thể ngay lập tức gọi tới các biến và các phương thức static khác.

Một phương thức static có thể gọi tới các phương thức và các biến không phai static sử dụng một trường hợp của class.

                        VD: public static void addTax()

                                    {

                                                // …………

}

  1. Các biến tĩnh.

Thêm vào các phương thức tĩnh ta cũng có thêm các biến static. Biến static là biến cụ thể mà việc truy suất không sử dụng đối tượng của class. Một biến static sử dụng từ khóa static.Khi một biến tĩnh khai báo nó tự động được gán giá trị ban đầu trước khi nó được truy suất.

Một trường hợp của class không thể truy suất các biến static.

                        VD: public static int x = 5;

  1. Các thay đổi truy suất:

Các ngôn ngữ lập trình hướng đối tượng cho phép bạ hạn chế việc truy suất đến các phần tử dữ liệu trong một class đồng thời duy nhất các class được chỉ định để có thể truy suất chúng.

Có 4 kiểu thay đổi truy suất mà C# hỗ trợ.

+ public: cung cấp cấp độ quyền truy suất lớn nhất. các phần tử được khai báo public có thể truy suất từ bất cứ class nào cũng giống như từ các class khác.

+ private: cung cấp cấp độ truy suất thấp nhất. chỉ có thể truy suất duy nhất trong class mà chúng  được khai báo.

+ protected: cho phép các thành phần class có thể sử dụng được cũng giống như từ các class khác.

+ tương tự giống protected nhưng chỉ có các class nằm trong cùng assembly. Một assembly là một file mà tự động được sinh ra bởi trình biên dịch dựa trên sự biên dich thành công của một chương trình .NET.

  1. Từ khóa “ref”

Sử dụng để truyền giá trị cho tham số khi gọi phương thức đồng thời gán lại giá trị mối cho biến truyền.

            VD: static void abc (ref int x, ref String y)

                        {

                                    // ……………..

}

  1. Từ khóa “out”

Sử dụng để truyền giá trị cho tham số khi gọi phương thức đồng thời gán lại giá trị mối cho biến truyền. Nhưng lại để khởi tạo gía trị của biến truyền.

VD: static void abc (out int x)

                        {

                                    x = 10;

                                    // ……………..

}

  1. Việc chồng đè phương thức trong C#:

Trong ngôn ngữ lập trình hướng đối tượng mỗi một phương thức đều có dấu hiệu riêng nó bao gồm số lượng tham số, kiểu tham số, thứ tự sắp xếp các tham số khi viết, tên tham số.

Không có một class nào cho phép có 2 phương thức cùng tên cùng tham số và cùng dấu hiệu. Trong một class có nhiều hơn một phương thức có cùng tên nhưng khác dấu hiệu khi đó người ta gọi là chồng đè phương thức.

                        VD:

                                    Static void add(int x)

                                    {

                                                // ……..

}

Static void add(int x,String name)

{

            // ………..

}

  1. Chú ý và hạn chế:

– Các phương thức chồng đè làm những nhiệm vụ giống nhau.

– Dấu hiệu của các phương thức chồng đè phải là duy nhất.

– Khi các phương thức chồng đè, kiểu trả về của các phương thức có thể giống nhau vì chúng không phải là một phần của dấu hiệu.

– từ khóa ref và out cũng là một phần của dấu hiệu trong các phương thức chồng đè.

  1. Từ khóa this.

Từ khóa this dùng để nói đến đối tượng hiện tại của class. Nó dùng để ngan chặn các xung đột của các biến có cùng tên và thông qua đối tượng hiện tại như một tham số. Bạn không thể dùng từ khóa this cho các biến và các phương thức tĩnh.

  1. Hàm khởi tạo:

Một class bao gồm các biến khác nhau và chúng được khai báo và khởi tạo và sử dụng cho các khối khác nhau.

Hàm khởi tạo để khởi tạo giá trị ban đầu cho các biến. nó là một phương thức có tên trùng với tên biến.hàm khởi tạo có thể khởi tạo gía trị ban đầu cho các biến. Chúng được tự động thực thi khi một trường hợp của class được tạo.

  1. Hàm khởi tạo mặc định:

C# tạo một hàm khởi tạo mặc định nếu một class không được chỉ định một hà khởi tạo. Hàm khởi tạo mặc định sẽ gán tất cả các giá trị kiểu số là zero. Nếu bạn bạn tạo một hàm khởi tạo thì hàm khởi tạo mặc định sẽ không còn nữa.

  1. Hàm khởi tạo static:

Một hàm khởi tạo static dùng để khởi tạo gía trị ban đầu cho các biến static của class và thực hiện một hành động duy nhất đó. Nó được gọi sau khi bất kỳ một biến static nào được truy suất. Từ khóa static dùng để khai báo hàm khởi tạo static.

Nó không bao gồm bất kỳ tham số nào và không dùng bất kỳ các thay đổi truy suất nào. Và nó không dùng cho các phần tử dữ liệu không phải là static.

  1. Nạp chồng hàm khởi tạo.

Khái niệm của viện khai báo nhiều hơn một hàm khởi tạo trong một class gọi là nạp chồng hàm khởi tạo. Sử lý của việc nạp chồng hàm khởi tạo tương đối giống với nạp chồng phương thức. Bất cứ một hàm khởi tạo nào cũng đều có dấu hiệu riêng. Nạp chồng hàm khởi tạo được cần đến khi một số đối tượng của class cần phải sử dụng giá trị khởi tạo khác của các biến.

  1. Kẻ tàn phá (Destructors):

–  Một destructor có tên trùng với class nhưng có thêm kí tự “ ~” ở đằng trước.

– Destructor dùng để ngừng cấp phát bộ nhớ cho các đối tượng không còn sử dụng. Chúng sẽ được tự động gọi khi một đối tượng không còn được sử dụng.

– Bạn có thể định nghĩa diu nhất một lần destructor trong một class. Một số đặc trưng của destructor:

+ Không thể nạp chồng, không thể kế thừa.

+ Không thể được gọi trực tiếp.

+ Không thể chỉ định kiểu truy vấn thay đổi, không có tham số.

  1. Garbage Collector (Người gom nhặt rác).

Dùng để ngừng cấp phát bộ nhớ cho các đối tượng mà không được sử dụng trong chương trình. Khi các đối tượng không còn được sử dụng garbage collector thực hiện hành động cần thiết lấy lai bộ nhớ dành cho đối tượng khác được trả về.

Lớp và Phương thức trong trong C#.NET
5 (100%) 10 votes

Add Comment