Mục lục chương I: ĐỐi tưỢng và LỚP



tải về 1.36 Mb.
trang14/28
Chuyển đổi dữ liệu21.12.2018
Kích1.36 Mb.
1   ...   10   11   12   13   14   15   16   17   ...   28

E.BÀI TẬP TỔNG HỢP:


Bài 1:

Cho một dãy các hình chữ nhật. Bằng lập trình hướng đối tượng, hãy viết chương trình thực hiện các chức năng sau:



  • Nhập vào một dãy hình chữ nhật

  • Tìm và in ra hình chữ nhật có chu vi lớn nhất và hình chữ nhật có diện tích lớn nhất

Bài 2:

Cho một dãy các điểm. Hãy tìm ra tam giác có chu vi nhỏ nhất, tam giác có diện tích lớn nhất trong các tam giác được tạo ra từ dãy điểm trên.

Hướng dẫn:

Để giải quyết bài toán trên thì ta cần định nghĩa hai lớp: lớp diem với các phương thức nhập, hiện thông tin, tính độ dài đoạn thẳng (độ dài giữa hai điểm). Lớp tamgiac với mỗi tam giác có 3 điểm chính là đối tượng lớp điểm. Định nghĩa các phương thức tính chu vi tam giac, phương thức tính diện tích tam giác, phương thức hiện thông tin. Thi hành các phương tính chu vi, diện tích của đối tượng tam giác. So sanh chu vi, diện tích để đưa ra tam giác có chu vi nhỏ nhất, diện tích lớn nhất.



Bài 3:

Bằng phương pháp lập trình hướng đối tượng, hãy viết chương trình quản lý nhân sự cho một tổ dân cư (khu phố), chi tiết về cả ngày thang năm sinh, nơi sinh và chỗ ở hiện tại. Đưa ra thông tin về gia đình có người cao tuổi nhất hay người ít tuổi nhất.

Hướng dẫn:

Hướng giả quyết giống bài 2:

Gia đình là một mảng các phần tử kiểu người

Khu phố lại là một mảng các đối tương kiểu gia đình.

Vì vậy cần định nghĩa ba lớp:

+ Lớp nguoi:

Mô tả rõ họ tên, ngày tháng năm sinh, nơi sinh, nghề nghiệp, chỗ ở của đối tượng. Các phương thức nhập, hiện thông tin.

+ Lớp giadinh

Mô tả gia đình này có bao nhiêu người, ai cao tuổi nhất trong gia đình, ai kém tuổi nhất trong gia đình. Nhập thông tin cho gia đinh chính là nhập thông tin cho từng thành viên. Phương thức hiển thị tóm tắt thông tin về gia đình.

+ Lớp khupho

Khu phố có bao nhiêu gia đình, ai là người cao tuổi nhất trong khu phố, ai là người kém tuổi nhất. (So sánh người cao tuổi, kém tuổi nhất trong giữa các gia đình để đưa ra kết quả cho khu phố). Phương thức hiển thị thông tin.

Có thể xây dựng thuộc tính chỉ đọc cho các thuộc tính trong lớp nguoi và lớp giadinh



CHƯƠNG II

NẠP CHỒNG TOÁN TỬ TRÊN LỚP

Mục tiêu: Sau khi tìm hiểu xong chương này người hcọ có thể nắm được các nội dung sau:

● Đưa ra được các nguyên tắc định nghĩa chồng toán tử.

● So sánh sự giống và khác nhau giữa việc xây dựng một hàm chồng toán tử và hàm thông thường.

● Biết được các yêu cầu cần thiết khi sử dụng toán tử.

● Chồng được các hàm toán tử tiêu biểu tượng trưng cho các phép toán( +, - ,= ,!=, = =, []…)

● Chuyển đổi kiểu ngầm định trong kiểu dữ liệu đối tượng.



  1. TÓM TẮT LÝ THUYẾT

    1. Toán tử:


Toán tử được kí hiệu bằng một biểu tượng dùng để thực hiện một hành động. Các kiểu dữ liệu cơ bản của C# như kiểu nguyên hỗ trợ rất nhiều các toán tử gán, toán tử toán học, toán tử logic..
    1. Chồng toán tử:


Toán tử được định nghĩa chồng bằng cách định nghĩa một hàm toán tử, hàm 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 phép toán và những tham số là toán hạng. Khi chúng ta tạo một toán tử cho một lớp là chúng ta nạp chồng toán tử(overloaded) cũng giống như là chúng ta nạp chồng bất cứ phương thức thành viên nào.

Việc chồng toán tử thực chất cũng giống như ta xây dựng một hàm thông thường và kết quả thu được như nhau nhưng chồng toán tử giúp người lập trình có thể sử dụng các kí hiệu toán học thường gặp(+ , +, *, / ) , dễ nhớ và gần gũi hơn


    1. Cú pháp nạp chồng toán tử:


Hàm toán tử bao gồm từ khóa operator theo sau là kí hiệu của toán tử được định nghĩa chồng. Trong đó từ khoá operator là một bổ xung phương thức.

C# cho phép nạp chồng toán tử như sau:


Type Operator operator_symbol(parameter_list);

Trong đó :

- Type là kiểu giá trị trả về của hàm.

- parameter_list là danh sách các đối số nếu có



- Operator_symbol là các toán tử. Trong C# có các hàm toán tử có thể nạp chồng và các phương thức thay thế như sau:





Toán tử

Tên phương thức thay thế

Toán tử

Tên phương thức thay thế




+

Add

>

Compare




-

Subtract

<

Compare




*

Multiply

!=

Compare




/

Divide

>=

Compare




%

Mod

<=

Compare




^

Xor

*=

Multiply




&

BitwiseAnd

- =

Subtract




|

Bitwiseor

^=

Xor




&&

Add

<<=

leftshift




||

Or

%=

Mod




=

Assign

+=

Add




<<

leftshift

&=

BitwiseAnd




>>

Rightshift

|=

Bitwiseor




= =

Equals


/=

Divide
































--

Decrement

-

Negate

++

Increment






Ví dụ 1: Sử dụng nạp toán tử (+) để cộng hai phân số

Public static phanso operator +(phanso rhs ,phanso lhs)

{

//các câu lệnh



}

Giải thích: rhs là phân số bên phải, lhs là phân số bên trái.

Ví dụ 2: Sử dụng nạp chồng toán tử(-) một ngôi để đổi dấu cho một số như sau:

Public static So operator –(So s)

{

}




    1. Поделитесь с Вашими друзьями:
1   ...   10   11   12   13   14   15   16   17   ...   28


Cơ sở dữ liệu được bảo vệ bởi bản quyền ©tieuluan.info 2019
được sử dụng cho việc quản lý

    Quê hương