Lập trình với C#: Chương 2 (Phần V)

Cấu trúc chương trình

Trước đây chúng ta đã được giới thiệu vài các phần của main ‘building blocks’ tạo bởi ngôn ngữ C# bao gồm khai báo biến, các kiểu dữ liệu và các câu lệnh của chương trình chúng ta cũng đã thấy đoạn mã ngắn về phương thức hàm main(). Cái chúng ta chưa thấy là làm thế nào để đặt tất cả chúng vào một khung của một chương trình hoàn chỉnh. Để trả lời chúng ta làm việc với các class.

Lớp

Như bạn đã biết , các class tạo nên một chương trình lớn trong C# , để biết thêm chúng ta sẽ được trình bày ở chương 3 toàn bộ về lập trình hướng đối tượng trong C#. Tuy nhiên nó thực sự có khả năng viết một chương trình mà không sử dụng đến lớp, ở đây chúng ta chỉ cần một ít về lớp. Chúng ta sẽ được trang bị cú pháp cơ bản để gọi một lớp, nhưng chúng ta sẽ dành hướng đối tượng cho chương sau.

Lớp là một khuôn mẫu thiết yếu mà chúng ta cần tạo ra đối tượng. Mỗi đối tượng chứa dữ liệu và các phương thức chế tác truy cập dữ liệu. Lớp định nghĩa cái mà dữ liệu và hàm của mỗi đối tượng riêng biệt (được gọi là thể hiện) của lớp có thể chứa. Ví dụ chúng ta có một lớp miêu tả một khách hàng nó được định nghĩa các trường như CustomerID, FirstName, LastName, và Address, cái mà chúng ta giữ thông tin cụ thể khách hàng. Nó cũng có thể được miêu tả bởi các hành động trong các trường dữ liệu.

Các lớp thành viên

Dữ liệu và các hàm không có lớp đượp biết như là lớp thành viên

Thành phần dữ liệu

Thành phần dữ liệu (Data members) là những thành phần chứa dữ liệu cho lớp – trường (fields), Hằng số (constants), và sự kiện (events).

Fields là các biến kết hợp với lớp. ví dụ, chúng ta định nghĩa một lớp PhoneCustomer với trường CustomerID, FirstName and LastName như sau:

class PhoneCustomer
{
     public int CustomerID;
     public string FirstName;
     public string LastName;
}

Once we have instantiated a PhoneCustomer object, we can then access these fields using the Object.FieldName syntax, for example:

PhoneCustomer Customer1 = new PhoneCustomer();
Customer1.FirstName = “Burton”;

Các hằng số có thể kết hợp với lớp như là biến. chúng ta khai báo một hằng số sử dụng từ khoá const. nếu nó khai báo public thì có thể truy cập ở ngoài lớp.

class PhoneCustomer
{
     public const int DayOfSendingBill = 1;
     public int CustomerID;
     public string FirstName;
     public string LastName;
}

Hàm thành phần (Function Members):

Bao gồm các thuộc tính và các phương thức . Chúng ta sử dụng các từ khoá sau để bổ nghĩa cho một phương thức :  

Modifier

Description

new

Phương thức ẩn một phương thức kế thừa với cùng kí hiệu

public

Phương thức có thể được truy cập bất kỳ

protected

Phương thức có thể bị truy xuất không từ lớp nó thuộc hoặc từ lớp dẫn xuất;

internal

Phương thức có thể được truy cập không cùng assembly

private

Phương thức có thể được truy cập từ bên trong lớp nó phụ thuộc

static

Phương thức có thể không được tính trên trên một lớp thể hiển cụ thể

virtual

Phương thức bị ghi đè bởi một lớp dẫn xúât

abstract

Phương thức trừu tượng

override

Phương thức ghi đè một phương thức ảo kế thừa hoặc trừu tượng.

sealed

Phương thức ghi đè một phương thức ảo kế thừa, nhưng không thể bị ghi đè từ lớp kế thừa này

extern

Phương thức được thực thi theo bên ngoài từ một ngôn ngữ khác

 

Cấu trúc (Structs )

Chúng ta sẽ đề cập ngắn gọn là, ngoài các lớp nó cũng có thể để khai báo cho cấu trúc, cú pháp giống như cơ bản bạn biết ngoại trừ chúng ta dùng từ khoá struct thay cho class.

Ví dụ chúng ta khai báo một cấu trúc PhoneCustomer được viết như sau :

struct PhoneCustomer
{
     public const int DayOfSendingBill = 1;
     public int CustomerID;
     public string FirstName;
     public string LastName;
}