Giáo trình Lập trình hướng đối tượng - Nghề: Lập trình máy tính

BÀI 3 SỬ DỤNG CÁC BỔ TỪ TRUY CẬP Giới thiệu Trong tính kế thừa tất cả các thuộc tính và phương thức của lớp cha đều sử dụng được ở lớp con, nhưng thực tế có những thuộc tính và phương thức ở lớp cha không muốn lớp con có thể truy cập vào. Cũng như ở lớp con cũng có những thuộc tính và phương thức chỉ muốn sử dụng riêng trong đối lớp đó thôi đó chứ không được truy xuất ở ngoài lớp. Để giải quyết vấn đề này ta sẽ tìm hiểu các mức truy cập private, protected và public trong lập trình hướng đối tượng Mục tiêu - Trình bày bản chất và cách thức sử dụng các bổ từ truy cập. - Vận dụng các các bổ từ truy cập cho các ứng dụng cơ bản. - Rèn luyện tính cẩn thận, sáng tạo, tinh thần làm việc nhóm. 3.1. Từ khóa public Thông thường, mức độ truy cập (access-modifiers) của một lớp là public. Ngoài ra các thành phần của lớp cũng có mức độ truy cập riêng. Mức độ truy cập của một thành phần cho biết loại phương thức nào được phép truy cập đến nó, hay nói cách khác nó mô tả phạm vi mà thành phần đó được nhìn thấy. Thành viên được đánh dấu public được nhìn thấy bởi bất kỳ phương thức nào của lớp khác. 3.2. Từ khóa private Chỉ có các phương thức của lớp A mới được phép truy cập đến thành phần được đánh dấu private trong các lớp A. 3.3. Từ khóa protected Chỉ có các phương thức của lớp A hoặc của lớp dẫn xuất từ A mới được phép truy cập đến thành phần được đánh dấu protected trong lớp A. 3.4. Từ khóa internal Các thành viên internal trong lớp A được truy xuất trong các phương thức của bất kỳ lớp trong khối kết hợp (assembly) của A

doc66 trang | Chia sẻ: thanhle95 | Lượt xem: 575 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Giáo trình Lập trình hướng đối tượng - Nghề: Lập trình máy tính, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ỦY BAN NHÂN DÂN TỈNH BR – VT TRƯỜNG CAO ĐẲNG NGHỀ GIÁO TRÌNH LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG NGHỀ LẬP TRÌNH MÁY TÍNH TRÌNH ĐỘ CAO ĐẲNG, TRUNG CẤP Ban hành kèm theo Quyết định số: 01 /QĐ-CĐN, ngày 04 tháng 01 năm 2016 của Hiệu trưởng trường Cao đẳng nghề tỉnh Bà Rịa – Vũng Tàu Bà Rịa – Vũng Tàu, năm 2016 TUYÊN BỐ BẢN QUYỀN Tài liệu này thuộc loại sách giáo trình nên các nguồn thông tin có thể được phép dùng nguyên bản hoặc trích dùng cho các mục đích về đào tạo và tham khảo. Mọi mục đích khác mang tính lệch lạc hoặc sử dụng với mục đích kinh doanh thiếu lành mạnh sẽ bị nghiêm cấm. LỜI GIỚI THIỆU Lập trình theo phương pháp hướng đối tượng là một phương pháp lập trình xuất hiện từ những năm 1990 và được hầu hết các ngôn ngữ lập trình hiện nay hỗ trợ. Giáo trình này sẽ giới thiệu các đặc trưng của phương pháp lập trình hướng đối tượng như tính đóng gói, tính kế thừa và tính đa hình. Chúng tôi chọn ngôn ngữ C# để minh họa, vì đây là ngôn ngữ lập trình hướng đối tượng dễ học và phổ dụng nhất hiện nay. Sau khi hoàn tất giáo trình này, sinh viên sẽ biết được cách mô hình hóa các lớp đối tượng trong thế giới thực thành các lớp đối tượng trong C# và cách phối hợp các đối tượng này để giải quyết vấn đề đang quan tâm. Bà Rịa – Vũng Tàu, ngày tháng năm 2016 Tham gia biên soạn Nguyễn Bá Thủy MỤC LỤC MÔ ĐUN LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG Mã mô đun: MĐ 16 Vị trí, tính chất của môn học Lập trình hướng đối tượng là phương pháp lập trình mới trên bước đường tiến hóa của việc lập trình máy tính, nhằm giúp chương trình trở nên linh hoạt, tin cậy và dễ phát triển. Tư tưởng lập trình hướng đối tượng được áp dụng cho hầu hết các ngôn ngữ lập trình chạy trên môi trường Windows như Visual Basic, Java, Visual C, C#... Vì vậy việc nghiên cứu phương pháp lập trình mới này là thật sự cần thiết đối với những người làm Tin học. Mục tiêu môn học Trình bày các khái niệm trong lập trình hướng đối tượng Sử dụng ngôn ngữ C# trong lập trình hướng đối tượng Thiết kế lớp đối tượng và các thành phần của lớp Viết chương trình những bài toán theo quan điểm lập trình hướng đối tượng Cài đặt tính kế thừa, đa hình trong hướng đối tượng Trình bày được sự cần thiết của các khái niệm: toán tử, uỷ nhiệm hàm và sự kiện trong lập trình hướng đối tượng Phân tích, cài đặt và xây dựng được chương trình theo phương pháp hướng đối tượng trên một ngôn ngữ lập trình cụ thể. Nội dung của mô đun: TT Tên bài Thời gian Hình thức giảng dạy 1 Tổng quan về các phương pháp lập trình 5 Lý thuyết 2 Căn bản về C# 5 Tích hợp 3 Sử dụng các bổ từ truy cập 5 Tích hợp 4 Thiết lập các phương thức của lớp 5 Tích hợp 5 Thiết lập các thuộc tính của lớp 5 Tích hợp 6 Cài đặt lớp trong C# 9 Tích hợp Kiểm tra bài 6 1 TH 7 Xây dựng các hàm khởi tạo của lớp 5 Tích hợp 8 Định nghĩa toán tử 5 Tích hợp 9 Sử dụng các loại toán tử 5 Tích hợp 10 Kế thừa 4 Tích hợp Kiểm tra bài 10 1 TH 11 Đa hình 5 Tích hợp 12 Giao diện 4 Tích hợp 13 Uỷ nhiệm hàm (delegate) 5 Tích hợp 14 Sự kiện (event) 5 Tích hợp 15 Kiểm tra bài 14 1 TH 16 Cộng 75 BÀI 1 TỔNG QUAN VỀ CÁC PHƯƠNG PHÁP LẬP TRÌNH Giới thiệu: Phương pháp lập trình là một kiểu cơ bản của lập trình vi tính (Computer Programming). Programming với các khái niệm và sự trừu tượng dùng trong mô tả các thành phần của một chương trình (như: các đối tượng (objects), các hàm (functions), các biến, các hằng,) và các bước để tính toán (như: các phép gán, biểu thức, các dòng dữ liệu,). Một ngôn ngữ lập trình có thể hỗ trợ nhiều Phương thức (lập trình), ví dụ: trong ngôn ngữ C++ hay Object Pascal ta có thể lập trình theo phương thức định hướng thủ tục hoặc theo phương thức hướng đối tượng, hay cũng có thể chứa cả 2 kiểu viết này. Cho dù là chọn phương thức lập trình nào, chúng ta vẫn mong muốn đạt đến một kết quả là làm sao để có sản phẩm tối ưu, đầy đủ các tính năng so với yêu cầu đề ra. Sự chọn lựa một phương thức lập trình phù hợp với yêu cầu đặt ra sẽ giúp các lập trình viên có được một kết quả tốt nhất. Do vậy, thực sự không thể so sánh ưu nhược điểm giữa các phương thức lập trình nếu không đặt nó vào một hoàn cảnh cụ thể của yêu cầu. Mục tiêu: - Trình bày được các phương pháp của lập trình hướng đối tượng, các đặt điểm nỗi bật của phương pháp lập trình hướng đối tượng. - Trình bày được các khái niệm cơ bản của lập trình hướng đối tượng - Rèn luyện tính cẩn thận, sáng tạo, tinh thần làm việc nhóm Nội dung: 1. Các phương pháp lập trình Xây dựng phần mềm bao gồm rất nhiều công đoạn: phân tích & thiết kế, cài đặt, kiểm tra/thử nghiệm và bảo trì. Cài đặt (programming/coding) chỉ là 1 phần trong quá trình trên. C++/C#/Java/v.v là NNLT để viết chương trình. PPLT là hệ thống hướng dẫn các giai đoạn cần thiết, cấu trúc của một chương trình. PPLT là các cách tiếp cận giúp cho quá trình cài đặt hiệu quả hơn. Các yêu cầu chính của phần mềm: Tính tái sử dụng (reusability) Tính mở rộng (extensibility) Tính mềm dẻo (flexibility) 1.1. Lập trình tuyến tính Chương trình là một dãy các lệnh. Lập trình là xây dựng các lệnh trong dãy lệnh. Không mang tính thiết kế. 1.2. Lập trình cấu trúc Chương trình là một hệ thống các thủ tục/ hàm. Mỗi thủ tục/ hàm là một dãy các lệnh. Lập trình là xác định xem chương trình gồm bao nhiêu thủ tục/ hàm. Kết quả là hệ thống cấu trúc và mối quan hệ giữa các hàm/ thủ tục. 1.3. Lập trình môđun Chương trình là một hệ thống những modul hay đơn thể. Đơn thể là một hệ thống các thủ tục/ hàm. Phân tích và tìm ra các đơn thể. Gom nhóm các thành phần tương tự nhau về ý nghĩa, phạm vi Bài tập củng cố: Xét chương trình nhập vào họ tên, điểm văn, điểm toán của một học sinh và xuất điểm trung bình tương ứng. Hãy viết chương trình trên bằng các phương pháp. 1.4. Lập trình hướng đối tượng Chương trình là một hệ thống những lớp đối tượng. Mỗi một lớp đối tượng về mặt thực tế tương ứng với những đối tượng có xuất hiện trong thực tế. LT hướng đối tượng là xây dựng những lớp đối tượng và yêu cầu chúng thực hiện những trách nhiệm của mình. LT hướng đối tượng là phương pháp LT dựa trên kiến trúc lớp (class) và đối tượng (object). 2. Các đặc điểm lập trình hướng đối tượng Đối tượng là gì ? Đối tượng trong thế giới thực: là một thực thể cụ thể mà ta có thể sờ, nhìn thấy hay cảm nhận được. Đối tượng phần mềm: dùng để biểu diễn các đối tượng trong thế giới thực. Mỗi đối tượng bao gồm 2 thành phần: thuộc tính và hành động. Ví dụ: một người A Một người có các thuộc tính: tên, tuổi, địa chỉ, màu mắt, Một đối tượng là 1 thực thể bao gồm thuộc tính & hành động Các hành động: đi, nói, thở, Hình 1.1: Mô hình đối tượng Lớp đối tượng là gì ? Lớp đối tượng thể hiện cho một nhóm các đối tượng giống nhau (cùng thuộc tính & hành động) VD: học sinh A, học sinh B, học sinh C Thiết kế phần mềm hướng đối tượng: Trừu tượng hóa dữ liệu và các hàm/ thủ tục liên quan Chia hệ thống ra thành các lớp/ đối tượng Mỗi lớp/ đối tượng có các tính năng và hành động chuyên biệt Các lớp có thể được sử dụng để tạo ra nhiều đối tượng cụ thể Các bước thiết kế đối tượng: Bước 1: Xây dựng sơ đồ đối tượng Xác định các lớp đối tượng Xác định các quan hệ giữa các lớp Bước 2: Thiết kế các lớp Thiết kế thuộc tính, các hành động Bước 3: Cài đặt các lớp Bước 4: Sử dụng các lớp để tạo ra các đối tượng Một số ngôn ngữ lập trình HĐT: C++, C#, VB.Net, J#, VC++, Java, JavaScript, PHP 3. Một số khái niệm cơ bản 3.1. Tính trừu tượng (abstraction) Sự trừu tượng hóa: Hình 1.2: Mô hình trừu tượng hóa thực thể 3.2. Tính đóng gói (encapsulation) Khả năng cất giữ riêng biệt dữ liệu và phương thức tác động lên dữ liệu đó. Do vậy chúng ta không phải quan tâm tới “phải làm như thế nào” mà chỉ điều khiển bằng “làm việc gì”. Đóng gói giúp đồng nhất giữa dữ liệu và các thao tác tác động lên dữ liệu đó. 3.3. Tính đa hình (polymorphism) Cho phép gởi cùng một thông điệp đến những đối tượng khác nhau cùng có chung một đặc điểm. 3.4. Tính kế thừa (inheritance) Giúp tạo đối tượng mới từ đối tượng có sẵn, bổ sung những đặc tính cần thiết trong đối tượng mới. Lớp đối tượng đã có được sử dụng lại gọi là lớp cơ sở. Lớp thừa kế lớp cơ sở gọi là lớp dẫn xuất. CÂU HỎI, BÀI TẬP Xây dựng quy trình tổng quát về lớp HOCSINH Gợi ý: Tên lớp, các thuộc tính,.. YÊU CẦU, ĐÁNH GIÁ - Các khái niệm cơ bản về lập trình - Đặc điểm của đối tượng - Các khái niệm cơ bản trong hướng đối tượng BÀI 2 CƠ BẢN VỀ C# Giới thiệu Ngôn ngữ C# khá đơn giản, chỉ khoảng hơn 80 từ khóa và hơn mười mấy kiểu dữ liệu được dựng sẵn. Tuy nhiên, ngôn ngữ C# có ý nghĩa to lớn khi nó thực thi những khái niệm lập trình hiện đại. C# bao gồm tất cả những hỗ trợ cho cấu trúc, thành phần component, lập trình hướng đối tượng. Những tính chất đó hiện diện trong một ngôn ngữ lập trình hiện đại. Mục tiêu - Củng cố kiến thức nền tảng về các kiểu dữ liệu, cấu trúc điều khiển, hàm thủ tục. - Vận dụng các kiểu dữ liệu, cấu trúc điều khiển, hàm thủ tục vào các bài tập cơ bản. - Rèn luyện tính cẩn thận, sáng tạo, tinh thần làm việc nhóm. 2.1. Các kiểu dữ liệu cơ bản 2.1.1. Định nghĩa KDL là các loại dữ liệu và phạm vi giá trị của chúng trong bộ nhớ mà người lập trình sử dụng để lưu trữ. Có 2 loại : KDL dựng sẵn & KDL tự định nghĩa. C# cũng chia tập dữ liệu thành hai kiểu: giá trị và tham chiếu. Biến kiểu giá trị được lưu trong vùng nhớ stack, còn biến kiểu tham chiếu được lưu trong vùng nhớ heap. 2.1.2. Khai báo Số nguyên: Int a,b; Số thực: float x,y; Ký tự, logic: char c; bool T; Chuỗi ký tự: Kiểu string có thể chứa nội dung không giới hạn, vì đây là kiểu dữ liệu đối tượng được chứa ở bộ nhớ heap. Khai báo: string s = “Nguyen Van A”; Kiểu mảng: Mảng là một tập hợp các phần tử cùng một kiểu dữ liệu liên tiếp nhau và được truy xuất thông qua chỉ số. Chỉ số bắt đầu từ 0. Mảng một chiều []=new [Số phần tử]; VD: Khai báo mảng số nguyên arr gồm 5 phần tử int [] arr = new int [5]; Enum (kiểu liệt kê): Enum là một cách thức để đặt tên cho các trị nguyên (các trị kiểu số nguyên, theo nghĩa nào đó tương tự như tập các hằng), làm cho chương trình rõ ràng, dễ hiểu hơn VD1: enum Ngay {Hai, Ba, Tu, Nam, Sau, Bay, ChuNhat}; Hai = 0; Ba = 1; ; ChuNhat = 6 Struct (kiểu cấu trúc): Struct dùng để nhóm các dữ liệu cùng liên quan đến một đối tượng nào đó. Khai báo : struct { Danh sách các thuộc tính; } Truy xuất: .thuộc tính Ví dụ: struct SV { public string ten; public string maso; } static void Main(string[] args) { SV a; a.ten = "Le Van Teo"; a.maso = "002"; Console.WriteLine("Ten: "+a.ten+" Ma so: "+a.maso); Console.ReadLine(); } Bài tập cũng cố: Viết chương trình nhập vào thông tin: Mã số nhân viên Họ tên Hệ số lương (hs) Lương cơ bản (lcb) Phụ cấp (pc) In tổng lương ra màn hình theo công thức: Tổng lương = lcb*hs + pc 2.2. Các cấu trúc điều khiển Rẽ nhánh : ifelse if (biểu thức điều kiện) { ; } Nếu biểu thức điều kiện cho kết quả khác không (true) thì thực hiện khối lệnh. Ví dụ: Nhập vào số nguyên n. Kiểm tra nếu n > 0 tăng n lên 1 đơn vị. Xuất kết quả. static void Main(string[] args) { int n; Console.Write("Nhap vao mot so nguyen: "); n = int.Parse(Console.ReadLine()); if (n > 0) n++; Console.WriteLine("Ket qua: n = " + n); } if (biểu thức điều kiện) { ; } else { ; } Nếu biểu thức điều kiện cho kết quả khác không thì thực hiện khối lệnh 1, ngược lại thì cho thực hiện khối lệnh thứ 2. Bài tập cũng cố: Nhập vào hai số nguyên a, b. In ra màn hình giá trị lớn nhất. Cho ba số a, b, c đọc vào từ bàn phím. Hãy tìm giá trị lớn nhất của ba số trên và in ra kết quả. Cấu trúc lựa chọn: KQ phải là nguyên switch (biểu thức) case n1: các câu lệnh ; break ; case n2: các câu lệnh ; break ; case nk: ; break ; [default: các câu lệnh] break; Cấu trúc lặp while: ; while () lệnh/ khối lệnh; ; Cấu trúc lặp for: for (;;) { ; } Cấu trúc lặp dowhile: do { ; } while (biểu thức ĐK); Thực hiện khối lệnh cho đến khi biểu thức điều kiện là false Cấu trúc lặp foreach: Sử dụng cho mảng foreach ( in ) { Khối lệnh; } Xét từng phần tử trong mảng VD: Tính tổng các phần tử chẵn trong mảng static void Main(string[] args) { int s=0; int [ ] a = new int [5] {3, 8, 7, 1, 6}; foreach(int m in a) if(m%2==0) s+=m; Console.WriteLine("Tong chan = " +s); } Bài tập cũng cố: - Viết chương trình đếm số US của số nguyên dương. - Viết chương trình in ra màn hình hình chữ nhật đặc kích thước (m, n nhập từ bàn phím). Ví dụ: Nhập m=5, n=4 * * * * * * * * * * * * * * * * * * * * 2.3. Hàm, thủ tục 2.3.1. Định nghĩa Phương thức (hay còn gọi là hàm) là một đoạn chương trình độc lập thực hiện trọn vẹn một công việc nhất định sau đó trả về giá trị cho chương trình gọi nó, hay nói cách khác hàm là sự chia nhỏ của chương trình. Mục đích sử dụng phương thức: Khi có một công việc giống nhau cần thực hiện ở nhiều vị trí. Khi cần chia một chương trình lớn phức tạp thành các đơn thể nhỏ (hàm con) để chương trình được trong sáng, dễ hiểu trong việc xử lý, tính toán. 2.3.2. Khai báo Mẫu tổng quát của phương thức: TênPhươngThức([tham số]); Phạm vi: Xác định phạm vi hay cách phương thức được gọi (sử dụng) Các từ khoá phạm vi : private, public, static KDL của phương thức (đầu ra), gồm 2 loại: void: Không trả về giá trị float / int / long / string / kiểu cấu trúc / : Trả về giá trị có KDL tương ứng với kết quả xử lý Tên phương thức : Đặt tên theo qui ước sao cho phản ánh đúng chức năng thực hiện của phương thức Danh sách các tham số (nếu có) : đầu vào của phương thức (trong một số trường hợp có thể là đầu vào và đầu ra của phương thức nếu kết quả đầu ra có nhiều giá trị - Tham số này gọi là tham chiếu). Ví dụ mẫu: static int a, b; static void Nhap() { Console.Write("Nhap a: "); a = int.Parse(Console.ReadLine()); Console.Write("Nhap b: "); b = int.Parse(Console.ReadLine()); } static void Xuat() { Console.WriteLine("a = {0}; b = {1}", a, b); } static void Main(string[] args) { Nhap(); Xuat(); } Tham số là tham chiếu: Dùng từ khóa ref bắt buộc phải khởi gán giá trị ban đầu cho đối số trước khi truyền vào khi gọi phương thức (Nếu dùng out thì không cần thiết) Hoán vị 2 số nguyên a, b cho trước: Đánh giá kết quả khi viết chương trình với hai trường hợp sau Trường hợp không dùng tham chiếu Trường hợp dùng tham chiếu: ref Không dùng tham chiếu: static void HoanVi(int a, int b) { int tam = a; a = b; b = tam; Console.WriteLine("Trong HoanVi: a = " + a + ";b = " + b); } static void Main(string[] args) { int a = 5, b = 21; Console.WriteLine("Truoc HoanVi: a = {0}; b = {1}", a, b); HoanVi(a, b); Console.WriteLine("Sau HoanVi: a = " + a + ";b = " + b); } Dùng tham chiếu: static void HoanVi(ref int a, ref int b) { int tam = a; a = b; b = tam; Console.WriteLine("Trong HoanVi: a = " + a + ";b = " + b); } static void Main(string[] args) { int a = 5, b = 21; Console.WriteLine("Truoc HoanVi: a = {0}; b = {1}", a, b); HoanVi(ref a, ref b); Console.WriteLine("Sau HoanVi: a = " + a + ";b = " + b); } CÂU HỎI, BÀI TẬP 1, Viết chương trình tính diện tích và chu vi của hình chữ nhật. 2, Viết chương trình tính diện tích và chu vi hình tròn. 3, Nhập vào 3 số thực a, b, c và kiểm tra xem chúng có lập thành 3 cạnh của một tam giác hay không? Nếu có hãy tính diện tích, chiều dài mỗi đường cao của tam giác và in kết quả ra màn hình. 4, Viết chương trình nhập 2 số nguyên dương a, b. Tìm USCLN & BSCNN. 5, Viết chương trình nhập số nguyên dương n, tính tổng các ước số của n. Ví dụ: Nhập n=6 6, Tổng các ước số từ 1 đến n: 1+2+3+6=12. 7, Nhập vào giờ, phút, giây. Kiểm tra xem giờ, phút, giây đó có hợp lệ hay không? YÊU CẦU, ĐÁNH GIÁ - Cách khai báo biến - Sử dụng các cấu trúc điều khiển - Cấu trúc hàm, thủ tục. - Tham chiếu, tham trị. BÀI 3 SỬ DỤNG CÁC BỔ TỪ TRUY CẬP Giới thiệu Trong tính kế thừa tất cả các thuộc tính và phương thức của lớp cha đều sử dụng được ở lớp con, nhưng thực tế có những thuộc tính và phương thức ở lớp cha không muốn lớp con có thể truy cập vào. Cũng như ở lớp con cũng có những thuộc tính và phương thức chỉ muốn sử dụng riêng trong đối lớp đó thôi đó chứ không được truy xuất ở ngoài lớp. Để giải quyết vấn đề này ta sẽ tìm hiểu các mức truy cập private, protected và public trong lập trình hướng đối tượng Mục tiêu - Trình bày bản chất và cách thức sử dụng các bổ từ truy cập. - Vận dụng các các bổ từ truy cập cho các ứng dụng cơ bản. - Rèn luyện tính cẩn thận, sáng tạo, tinh thần làm việc nhóm. 3.1. Từ khóa public Thông thường, mức độ truy cập (access-modifiers) của một lớp là public. Ngoài ra các thành phần của lớp cũng có mức độ truy cập riêng. Mức độ truy cập của một thành phần cho biết loại phương thức nào được phép truy cập đến nó, hay nói cách khác nó mô tả phạm vi mà thành phần đó được nhìn thấy. Thành viên được đánh dấu public được nhìn thấy bởi bất kỳ phương thức nào của lớp khác. 3.2. Từ khóa private Chỉ có các phương thức của lớp A mới được phép truy cập đến thành phần được đánh dấu private trong các lớp A. 3.3. Từ khóa protected Chỉ có các phương thức của lớp A hoặc của lớp dẫn xuất từ A mới được phép truy cập đến thành phần được đánh dấu protected trong lớp A. 3.4. Từ khóa internal Các thành viên internal trong lớp A được truy xuất trong các phương thức của bất kỳ lớp trong khối kết hợp (assembly) của A 3.5. Từ khóa protected internal Tương đương với protected or internal CÂU HỎI, BÀI TẬP Tìm hiểu các ví dụ sử dụng các từ khóa truy cập. YÊU CẦU, ĐÁNH GIÁ - Các đặc điểm của các từ khóa truy cập - Những từ khóa phổ biến nhất BÀI 4 THIẾT LẬP CÁC PHƯƠNG THỨC CỦA LỚP (FUNCTION MEMBERS) Giới thiệu 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 Mục tiêu - Trình bày vai trò của của các phương thức của lớp. - Xây dựng các phương thức phù hợp với vai trò và chức năng trong lớp. - Rèn luyện tính cẩn thận, sáng tạo, tinh thần làm việc nhóm. 4.1. Định nghĩa Phương thức, hàm (method) là tập hợp các lệnh dùng để xử lý thông tin cho 1 mục đích nào đó, thông thường phương thức được tạo ra và được đặt tên để có thể gọi sử dụng thông qua đối tượng của Class. 4.2. Xây phương thức trong lớp Các phương thức của lớp thường đựoc khai báo với từ khoá public Cú pháp: [public/ bổ từ khác] ([ DS các đối số]) { // Các lệnh bên trong phương thức. } Ví dụ: Chương trình sau minh họa một hàm FindMax nhận hai giá trị integer và trả về số nào lớn hơn trong hai số. public int FindMax(int num1, int num2) { int result; if (num1 > num2) result = num1; else result = num2; return result; } 4.3. Xây dựng phương thức ngoài lớp Ngôn ngữ C# không cho phép tạo các phương thức bên ngoài của lớp, nhưng ta có thể tạo được các phương thức giống như vậy bằng cách tạo các phương thức tĩnh bên trong một lớp. CÂU HỎI, BÀI TẬP Xây dựng lớp SV có hàm tính trung bình điểm của 3 môn. YÊU CẦU, ĐÁNH GIÁ - Các đặc điểm của các từ khóa truy cập - Những từ khóa phổ biến nhất BÀI 5 THIẾT LẬP CÁC THUỘC TÍNH CỦA LỚP (DATA MEMBERS) Giới thiệu Sử dụng thuộc tính tr