Giáo trình hình thành modul ứng dụng cấu tạo các kiểu dữ liệu mới đa hình điều khiển truy xuất p4
Số trang: 10
Loại file: pdf
Dung lượng: 1.36 MB
Lượt xem: 9
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Tham khảo tài liệu giáo trình hình thành modul ứng dụng cấu tạo các kiểu dữ liệu mới đa hình điều khiển truy xuất p4, công nghệ thông tin, cơ sở dữ liệu phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả
Nội dung trích xuất từ tài liệu:
Giáo trình hình thành modul ứng dụng cấu tạo các kiểu dữ liệu mới đa hình điều khiển truy xuất p4 . Ngôn Ngữ Lập Trình C# Chương 6 NẠP CHỒNG TOÁN TỬ Sử dụng từ khóa operator Hỗ trợ ngôn ngữ .NET khác Sử dụng toán tử Toán tử so sánh bằng Toán tử chuyển đổi Câu hỏi & bài tập Hướng thiết kế của ngôn ngữ C# là tất cả các lớp do người dùng định nghĩa (user- defined classes) có tất cả các chức năng của các lớp đựơc xây dựng sẵn. Ví dụ, giả sử chúng ta định nghĩa một lớp để thể hiện một phân số. Để đảm bảo rằng lớp này có tất cả các chức năng tương tự như các lớp được xây dựng sẵn, nghĩa là chúng ta cho phép thực hiện các phép toán số học trên các thể hiện của phân số chúng ta (như các phép toán cộng phân số, nhân hai phân số,...) và chuyển đổi qua lại giữa phân số và kiểu dữ liệu xây dựng sẵn như kiểu nguyên (int). Dĩ nhiên là chúng ta có thể dễ dàng thực hiện các toán tử bằng cách gọi một phương thức, tương tự như câu lệnh sau: Fraction theSum = firstFraction.Add( secondFraction ); Mặc dù cách thực hiện này không sai nhưng về trực quan thì rất tệ không được tự nhiên như kiểu dữ lịêu được xây dựng sẵn. Cách thực hiện sau sẽ tốt hơn rất nhiều nếu ta thiết kế đựơc: Fraction theSum = firstFraction + secondFraction; Cách thực hiện này xem trực quan hơn và giống với cách thực hiện của các lớp được xây dựng sẵn, giống như khi thực hiện phép cộng giữa hai số nguyên int. Trong chương này chúng ta sẽ tìm hiểu kỹ thuật thêm các toán tử chuẩn vào kiểu dữ liệu do người dùng định nghĩa. Và chúng ta sẽ tìm hiểu các toán tử chuyển đổi để chuyển đổi kiểu dữ liệu do người dùng định nghĩa một cách tường minh hay ngầm định sang các kiểu dữ liệu khác. Sử dụng từ khóa operator Trong ngôn ngữ C#, các toán tử là các phương thức tĩnh, giá trị trả về của nó thể hiện kết quả của một toán tử và những tham số là các toán hạng. Khi chúng ta tạo một toán tử cho một 153. Nạp Chồng Toán Tử. Ngôn Ngữ Lập Trình C# lớp là chúng ta đã thực việc nạp chồng (overloaded) những toán tử đó, cũng giống như là chúng ta có thể nạp chồng bất cứ phương thức thành viên nào. Do đó, để nạp chồng toán tử cộng (+) chúng ta có thể viết như sau: public static Fraction operator + ( Fraction lhs, Fraction rhs) Trong toán tử trên ta có sự qui ước đặt tên của tham số là lhs và rhs. Tham số tên lhs thay thế cho “left hand side” tức là toán hạng bên trái, tương tự tham số tên rhs thay thế cho “right hand side” tức là toán hạng bên phải. Cú pháp ngôn ngữ C# cho phép nạp chồng một toán tử bằng cách viết từ khóa operator và theo sau là toán tử được nạp chồng. Từ khóa operator là một bổ sung phương thức (method operator). Như vậy, để nạp chồng toán tử cộng (+) chúng ta có thể viết operator +. Khi chúng ta viết: Fraction theSum = firstFraction + secondFraction; Thì toán tử nạp chồng + được thực hiện, với firstFraction được truyền vào như là tham số đầu tiên, và secondFraction được truyền vào như là tham số thứ hai. Khi trình biên dịch gặp biểu thức: firstFraction + secondFraction thì trình biên dịch sẽ chuyển biểu thức vào: Fraction.operator+(firstFraction, secondFraction) Kết quả sau khi thực hiện là một đối tượng Fraction mới được trả về, trong trường hợp này phép gán sẽ được thực hiện để gán một đối tượng Fraction cho theSum. Ghi chú: Đối với người lập trình C++, trong ngôn ngữ C# không thể tạo được toán tử nonstatic, và do vậy nên toán tử nhị phân phải lấy hai toán hạng. Hỗ trợ ngôn ngữ .NET khác Ngôn ngữ C# cung cấp khả năng cho phép nạp chồng toán tử cho các lớp mà chúng ta xây dựng, thậm chí điều này không hoặc đề cập rất ít trong Common Language Specification (CLS). Những ngôn ngữ .NET khác như VB.NET thì không hỗ trợ việc nạp chồng toán tử, và một điều quan trọng để đảm bảo là lớp của chúng ta phải hỗ trợ các phương thức thay thế cho phép những ngôn ngữ khác có thể gọi để tạo ra các hiệu ứng tương tự. Do đó, nếu chúng ta nạp chồng toán tử (+) thì chúng ta nên cung cấp một phương thức Add() cũng làm cùng chức năng là cộng hai đối tượng. Nạp chồng toán tử có thể là một cú pháp ngắn gọn, nhưng nó không chỉ là đường dẫn cho những đối tượng của chúng ta thiết lập một nhiệm vụ được đưa ra. Sử dụng toán tử Nạp chồng toán tử có thể làm cho mã nguồn của chúng ta ...
Nội dung trích xuất từ tài liệu:
Giáo trình hình thành modul ứng dụng cấu tạo các kiểu dữ liệu mới đa hình điều khiển truy xuất p4 . Ngôn Ngữ Lập Trình C# Chương 6 NẠP CHỒNG TOÁN TỬ Sử dụng từ khóa operator Hỗ trợ ngôn ngữ .NET khác Sử dụng toán tử Toán tử so sánh bằng Toán tử chuyển đổi Câu hỏi & bài tập Hướng thiết kế của ngôn ngữ C# là tất cả các lớp do người dùng định nghĩa (user- defined classes) có tất cả các chức năng của các lớp đựơc xây dựng sẵn. Ví dụ, giả sử chúng ta định nghĩa một lớp để thể hiện một phân số. Để đảm bảo rằng lớp này có tất cả các chức năng tương tự như các lớp được xây dựng sẵn, nghĩa là chúng ta cho phép thực hiện các phép toán số học trên các thể hiện của phân số chúng ta (như các phép toán cộng phân số, nhân hai phân số,...) và chuyển đổi qua lại giữa phân số và kiểu dữ liệu xây dựng sẵn như kiểu nguyên (int). Dĩ nhiên là chúng ta có thể dễ dàng thực hiện các toán tử bằng cách gọi một phương thức, tương tự như câu lệnh sau: Fraction theSum = firstFraction.Add( secondFraction ); Mặc dù cách thực hiện này không sai nhưng về trực quan thì rất tệ không được tự nhiên như kiểu dữ lịêu được xây dựng sẵn. Cách thực hiện sau sẽ tốt hơn rất nhiều nếu ta thiết kế đựơc: Fraction theSum = firstFraction + secondFraction; Cách thực hiện này xem trực quan hơn và giống với cách thực hiện của các lớp được xây dựng sẵn, giống như khi thực hiện phép cộng giữa hai số nguyên int. Trong chương này chúng ta sẽ tìm hiểu kỹ thuật thêm các toán tử chuẩn vào kiểu dữ liệu do người dùng định nghĩa. Và chúng ta sẽ tìm hiểu các toán tử chuyển đổi để chuyển đổi kiểu dữ liệu do người dùng định nghĩa một cách tường minh hay ngầm định sang các kiểu dữ liệu khác. Sử dụng từ khóa operator Trong ngôn ngữ C#, các toán tử là các phương thức tĩnh, giá trị trả về của nó thể hiện kết quả của một toán tử và những tham số là các toán hạng. Khi chúng ta tạo một toán tử cho một 153. Nạp Chồng Toán Tử. Ngôn Ngữ Lập Trình C# lớp là chúng ta đã thực việc nạp chồng (overloaded) những toán tử đó, cũng giống như là chúng ta có thể nạp chồng bất cứ phương thức thành viên nào. Do đó, để nạp chồng toán tử cộng (+) chúng ta có thể viết như sau: public static Fraction operator + ( Fraction lhs, Fraction rhs) Trong toán tử trên ta có sự qui ước đặt tên của tham số là lhs và rhs. Tham số tên lhs thay thế cho “left hand side” tức là toán hạng bên trái, tương tự tham số tên rhs thay thế cho “right hand side” tức là toán hạng bên phải. Cú pháp ngôn ngữ C# cho phép nạp chồng một toán tử bằng cách viết từ khóa operator và theo sau là toán tử được nạp chồng. Từ khóa operator là một bổ sung phương thức (method operator). Như vậy, để nạp chồng toán tử cộng (+) chúng ta có thể viết operator +. Khi chúng ta viết: Fraction theSum = firstFraction + secondFraction; Thì toán tử nạp chồng + được thực hiện, với firstFraction được truyền vào như là tham số đầu tiên, và secondFraction được truyền vào như là tham số thứ hai. Khi trình biên dịch gặp biểu thức: firstFraction + secondFraction thì trình biên dịch sẽ chuyển biểu thức vào: Fraction.operator+(firstFraction, secondFraction) Kết quả sau khi thực hiện là một đối tượng Fraction mới được trả về, trong trường hợp này phép gán sẽ được thực hiện để gán một đối tượng Fraction cho theSum. Ghi chú: Đối với người lập trình C++, trong ngôn ngữ C# không thể tạo được toán tử nonstatic, và do vậy nên toán tử nhị phân phải lấy hai toán hạng. Hỗ trợ ngôn ngữ .NET khác Ngôn ngữ C# cung cấp khả năng cho phép nạp chồng toán tử cho các lớp mà chúng ta xây dựng, thậm chí điều này không hoặc đề cập rất ít trong Common Language Specification (CLS). Những ngôn ngữ .NET khác như VB.NET thì không hỗ trợ việc nạp chồng toán tử, và một điều quan trọng để đảm bảo là lớp của chúng ta phải hỗ trợ các phương thức thay thế cho phép những ngôn ngữ khác có thể gọi để tạo ra các hiệu ứng tương tự. Do đó, nếu chúng ta nạp chồng toán tử (+) thì chúng ta nên cung cấp một phương thức Add() cũng làm cùng chức năng là cộng hai đối tượng. Nạp chồng toán tử có thể là một cú pháp ngắn gọn, nhưng nó không chỉ là đường dẫn cho những đối tượng của chúng ta thiết lập một nhiệm vụ được đưa ra. Sử dụng toán tử Nạp chồng toán tử có thể làm cho mã nguồn của chúng ta ...
Tìm kiếm theo từ khóa liên quan:
giáo trình đại số giáo trình lượng giác phương pháp học toán mẹo học toán cao cấp kỹ năng học toánGợi ý tài liệu liên quan:
-
22 trang 49 0 0
-
Một số bất đẳng thức cơ bản ứng dụng vào bất đẳng thức hình học - 2
29 trang 37 0 0 -
Giáo trình hình thành ứng dụng phân tích xử lý các toán tử trong một biểu thức logic p4
10 trang 37 0 0 -
Tiết 2: NHÂN ĐA THỨC VỚI ĐA THỨC
5 trang 35 0 0 -
Bộ câu hỏi trắc nghiệm ôn tập cuối năm Môn: Toán lớp 4
15 trang 33 0 0 -
351 trang 32 0 0
-
TIẾT 17- ĐỊNH LÍ TA-LÉT VÀ HỆ QUẢ CỦA CHÚNG
5 trang 29 1 0 -
Các bài Toán có nội dung phân số
8 trang 29 0 0 -
4 trang 28 0 0
-
Giáo trình hình học và 400 bài tập P5
112 trang 27 0 0 -
Phương pháp chuẩn hoá bất đẳng thức
65 trang 27 0 0 -
Giáo trình hình học và 400 bài tập P1
100 trang 26 0 0 -
100 bài toán trắc nghiệm lớp 5
14 trang 24 0 0 -
Bất đẳng thức xoay vòng phần 6
12 trang 23 0 0 -
Giáo trình hình học và 400 bài tập P2
100 trang 23 0 0 -
28 trang 23 0 0
-
Lý thuyết mủ logarit chuyên đề 5
6 trang 23 0 0 -
Bất đẳng thức xoay vòng phần 7
13 trang 22 0 0 -
30 trang 22 0 0
-
8 trang 22 0 0