Giáo trình hướng dẫn phân tích xây dựng một trình tự xử lý các toán tử trong một biểu thức logic p4

5 7 0
Giáo trình hướng dẫn phân tích xây dựng một trình tự xử lý các toán tử trong một biểu thức logic p4

Đang tải... (xem toàn văn)

Thông tin tài liệu

Tham khảo tài liệu ''giáo trình hướng dẫn phân tích xây dựng một trình tự xử lý các toán tử trong một biểu thức logic p4'', công nghệ thông tin, kỹ thuật lập trình phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả

Ngơn Ngữ Lập Trình C# tạp Người lập trình tạo kiểu liệu cách xây dựng lớp đối tượng vấn đề cần thảo luận chương Đây khả để tạo kiểu liệu mới, đặc tính quan trọng ngơn ngữ lập trình hướng đối tượng Chúng ta xây dựng kiểu liệu ngôn ngữ C# cách khai báo định nghĩa lớp Ngồi ta định nghĩa kiểu liệu với giao diện (interface) bàn Chương sau Thể lớp gọi đối tượng (object) Những đối tượng tạo nhớ chương trình thực Sự khác lớp đối tượng giống khác khái niệm loài mèo mèo Mun nằm bên chân ta Chúng ta đụng chạm hay đùa giỡn với khái niệm mèo thực điều với mèo Mun, thực thể sống động, không trừu tượng khái niệm họ lồi mèo Một họ mèo mơ tả mèo có đặc tính: có trọng lượng, có chiều cao, màu mắt, màu lơng, chúng có hành động ăn ngủ, leo trèo, mèo, ví dụ mèo Mun chẳng hạn, có trọng lượng xác định kg, chiều cao 15 cm, màu mắt đen, lơng đen Nó có khả ăn ngủ leo trèo, Lợi ích to lớn lớp ngơn ngữ lập trình khả đóng gói thuộc tính tính chất thực thể khối đơn, tự có nghĩa, tự khả trì Ví dụ muốn nội dung thể hay đối tượng lớp điều khiển ListBox Windows, cần gọi đối tượng chúng tự xếp, cịn việc chúng làm ta không quan tâm, cần biết nhiêu thơi Đóng gói với đa hình (polymorphism) kế thừa (inheritance) thuộc tính yếu ngơn ngữ lập trình hướng đối tượng Chương trình bày đặc tính ngơn ngữ lập trình C# để xây dựng lớp đối tượng Thành phần lớp, hành vi thuộc tính, xem thành viên lớp (class member) Tiếp theo chương trình khái niệm phương thức (method) dùng để định nghĩa hành vi lớp, trạng thái biến thành viên hoạt động lớp Một đặc tính mà ngơn ngữ C# đưa để xây dựng lớp khái niệm thuộc tính (property), thành phần thuộc tính hoạt động giống cách phương thức để tạo lớp, chất phương thức tạo lớp giao diện cho bên tương tác với biến thành viên cách gián tiếp, ta bàn sâu vấn đề chương Định nghĩa lớp Để định nghĩa kiểu liệu hay lớp phải khai báo sau định nghĩa thuộc tính phương thức kiểu liệu Khai báo lớp cách sử dụng từ khoá class Cú pháp đầy đủ khai báo lớp sau: [Thuộc tính] [Bổ sung truy cập] class [: Lớp sở] { 88 Xây Dựng Lớp - Đối Tượng Ngơn Ngữ Lập Trình C# } Thành phần thuộc tính đối tượng trình bày chi tiết chương sau, thành phần bổ sung truy cập trình bày tiếp mục Định danh lớp tên lớp người xây dựng chương trình tạo Lớp sở lớp mà đối tượng kế thừa để phát triển ta bàn sau Tất thành viên lớp định nghĩa bên thân lớp, phần thân bao bọc hai dấu ({}) Ghi chú: Trong ngôn ngữ C# phần kết thúc lớp khơng có đấu chấm phẩy giống khai báo lớp ngơn ngữ C/C++ Tuy nhiên người lập trình thêm vào trình biên dịch C# chấp nhận mà không đưa cảnh báo lỗi Trong C#, chuyện xảy lớp Như ví dụ mà tìm hiểu chương 3, hàm điều đưa vào lớp, kể hàm đầu vào chương trình (hàm Main()): public class Tester { public static int Main() { // } } Điều cần nói chưa tạo thể lớp, tức tạo đối tượng cho lớp Tester Điều khác lớp thể lớp? để trả lới cho câu hỏi bắt đầu xem xét khác kiểu liệu int biến kiểu int Ta có viết sau: int var1 = 10; nhiên ta viết int = 10; Ta gán giá trị cho kiểu liệu, thay vào ta gán liệu cho đối tượng kiểu lịêu đó, trường hợp đối tượng biến var1 Khi tạo lớp mới, việc định nghĩa thuộc tính hành vi tất đối tượng lớp Giả sử lập trình để tạo điều khiển ứng dụng Windows, điều khiển giúp cho người dùng tương tác tốt với Windows, ListBox, TextBox, ComboBox, Một điều khiển thông dụng ListBox, điều khiển cung cấp danh sách liệt kê mục chọn cho phép người dùng chọn mục tin ListBox có thuộc tính khác nhu: chiều cao, bề dày, vị trí, màu sắc thể hành vi chúng như: chúng thêm bới mục tin, xếp, 89 Xây Dựng Lớp - Đối Tượng Ngơn Ngữ Lập Trình C# Ngơn ngữ lập trình hướng đối tượng cho phép tạo kiểu liệu lớp ListBox, lớp bao bọc thuộc tính khả như: thuộc tính height, width, location, color, phương thức hay hành vi Add(), Remove(), Sort(), Chúng ta gán liệu cho kiểu ListBox, thay vào ta phải tạo đối tượng cho lớp đó: ListBox myListBox; Một tạo thể lớp ListBox ta gán liệu cho thể Tuy nhiên đoạn lệnh chưa thể tạo đối tượng nhớ được, ta bàn tiếp Bây ta tìm hiểu cách tạo lớp tạo thể thơng qua ví dụ minh họa 4.1 Ví dụ tạo lớp có chức hiểu thị thời gian ngày Lớp có hành vi thể ngày, tháng, năm, giờ, phút, giây hành Để làm điều lớp có thuộc tính hay cịn gọi biến thành viên, với phương thức sau:  Ví dụ 4.1: Tạo lớp Thoigian đơn giản sau using System; public class ThoiGian { public void ThoiGianHienHanh() { Console.WriteLine(“Hien thi thoi gian hien hanh”); } // Các biến thành viên int Nam; int Thang; int Ngay; int Gio; int Phut; int Giay; } public class Tester { static void Main() { ThoiGian t = new ThoiGian(); t.ThoiGianHienHanh(); } } Xây Dựng Lớp - Đối Tượng 90 Ngơn Ngữ Lập Trình C#  Kết quả: Hien thi thoi gian hien hanh Lớp ThoiGian có phương thức hàm ThoiGianHienHanh(), phần thân phương thức định nghĩa bên lớp ThoiGian Điều khác với ngơn ngữ C++, C# khơng địi hỏi phải khai báo trước định nghĩa phương thức, không hỗ trợ việc khai báo phương thức tập tin sau định nghĩa tập tin khác C# khơng có tập tin tiêu đề, tất phương thức định nghĩa hoàn toàn bên lớp Phần cuối định nghĩa lớp phần khai báo biến thành viên: Nam, Thang, Ngay, Gio, Phut, va Giay Sau định nghĩa xong lớp ThoiGian, phần định nghĩa lớp Tester, lớp có chứa hàm thân thiện với hàm Main() Bên hàm Main có thể lớp ThoiGian tạo gán giá trị cho đối tượng t Bởi t thể đối tượng ThoiGian, nên hàm Main() sử dụng phương thức t: t.ThoiGianHienHanh(); Thuộc tính truy cập Thuộc tính truy cập định khả phương thức lớp bao gồm việc phương thức lớp khác nhìn thấy sử dụng biến thành viên hay phương thức bên lớp Bảng 4.1 tóm tắt thuộc tính truy cập lớp C# Thuộc tính public private protected internal protected internal Xây Dựng Lớp - Đối Tượng Giới hạn truy cập Không hạn chế Những thành viên đánh dấu public dùng phương thức lớp bao gồm lớp khác Thành viên lớp A đánh dấu private truy cập phương thức lớp A Thành viên lớp A đánh dấu protected phương thức bên lớp A phương thức dẫn xuất từ lớp A truy cập Thành viên lớp A đánh dấu internal truy cập phương thức lớp khối hợp ngữ với A Thành viên lớp A đánh dấu protected internal truy cập phương thức lớp A, phương thức lớp dẫn xuất A, lớp khối hợp ngữ A 91 Ngôn Ngữ Lập Trình C# Bảng 4.1: Thuộc tính truy cập Mong muốn chung thiết kế biến thành viên lớp thuộc tính private Khi có phương thức thành viên lớp truy cập giá trị biến C# xem thuộc tính private mặc định nên ví dụ 4.1 ta khơng khai báo thuộc tính truy cập cho biến nên mặc định chúng private: // Các biến thành viên private int Nam; int Thang; int Ngay; int Gio; int Phut; int Giay; Do lớp Tester phương thức thành viên ThoiGianHienHanh lớp ThoiGian khai báo public nên lớp truy cập Ghi chú: Thói quen lập trình tốt khai báo tường minh thuộc tính truy cập biến thành viên hay phương thức lớp Mặc dù biết chắn thành viên lớp khai báo private mặc định Việc khai báo tường minh làm cho chương trình dễ hiểu, rõ ràng tự nhiên Tham số phương thức Trong ngơn ngữ lập trình tham số đối mục xem nhau, tương tự nói ngơn ngữ hướng đối tượng ta gọi hàm phương thức hay hành vi Tất tên điều tương đồng với Một phương thức lấy số lượng tham số nào, Các tham số theo sau tên phương thức bao bọc bên dấu ngoặc tròn () Mỗi tham số phải khai báo kèm với kiểu liệu ví dụ ta có khai báo định nghĩa phương thức có tên Method, phương thức không trả giá trị (khai báo giá trị trả void), có hai tham số kiểu int button: void Method( int param1, button param2) { // } Bên thân phương thức, tham số xem biến cục bộ, giống ta khai báo biến bên phương thức khởi tạo giá trị giá trị tham số truyền vào Ví dụ 4.2 minh họa việc truyền tham số vào phương thức, trường hợp hai tham số kiểu int float  Ví dụ 4.2: Truyền tham số cho phương thức 92 Xây Dựng Lớp - Đối Tượng ... minh làm cho chương trình dễ hiểu, rõ ràng tự nhiên Tham số phương thức Trong ngôn ngữ lập trình tham số đối mục xem nhau, tương tự nói ngơn ngữ hướng đối tượng ta gọi hàm phương thức hay hành vi... màu sắc thể hành vi chúng như: chúng thêm bới mục tin, xếp, 89 Xây Dựng Lớp - Đối Tượng Ngơn Ngữ Lập Trình C# Ngơn ngữ lập trình hướng đối tượng cho phép tạo kiểu liệu lớp ListBox, lớp bao bọc... người lập trình thêm vào trình biên dịch C# chấp nhận mà khơng đưa cảnh báo lỗi Trong C#, chuyện xảy lớp Như ví dụ mà tìm hiểu chương 3, hàm điều đưa vào lớp, kể hàm đầu vào chương trình (hàm

Ngày đăng: 08/05/2021, 13:54

Tài liệu cùng người dùng

Tài liệu liên quan