Giới Thiệu Lập Trình Hướng Đối Tượng Bằng Ngôn Ngữ C#

Tài liệu nghiên cứu Lap trinh huong doi tuong, tổng hợp lý thuyết và thực hành, cung cấp kiến thức chuyên sâu về ., phục vụ nghiên cứu và ứng dụng thực tiễn

Trường đại học

Trường ĐH Công Nghệ Sài Gòn

Người đăng

Ẩn danh

Thể loại

bài giảng
123
1
0

Phí lưu trữ

35 Point

Mục lục chi tiết

1. Bài 1: GIỚI THIỆU LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG

1.1. I. Lập trình hướng thủ tục

1.2. II. Lập trình hướng đối tượng

1.3. III. So sánh Lập trình hướng đối tượng - Lập trình cấu trúc

2. Bài 2: CÁC KHÁI NIỆM CƠ BẢN CỦA NGÔN NGỮ C#

2.1. I. Tạo ứng dụng dạng Console

2.2. II. Kiểu dữ liệu, biến và hằng

2.3. III. Các phép toán và biểu thức

2.4. IV. Truyền tham số sang hàm

2.5. V. Kiểu struct và kiểu DateTime

2.6. VI. Kiểu chuỗi và kiểu mảng

2.7. VII. Kiểu enum

3. Bài 3: LỚP VÀ ĐỐI TƯỢNG

3.1. I. Khái niệm đối tượng và lớp đối tượng

3.2. II. Xây dựng lớp đối tượng

3.3. III. Biểu diễn đối tượng và lớp đối tượng bằng UML

3.4. IV. Dữ liệu và phương thức static

3.5. V. Định nghĩa phép toán

4. Bài 4: XÂY DỰNG ỨNG DỤNG BẰNG WINFORM

4.1. I. Các thành phần cơ bản trên WinForm - Tạo ứng dụng đơn giản

4.2. I. Các thành phần cơ bản trên WinForm - Sử dụng các Controls

4.3. I. Các thành phần cơ bản trên WinForm - Sử dụng menu MenuStrip Control

4.4. I. Các thành phần cơ bản trên WinForm - MDI Form

Tóm tắt

I. Khám Phá Lập Trình Hướng Đối Tượng Với C Cho Người Mới Bắt Đầu

Lập trình hướng đối tượng (OOP) là một trong những phương pháp lập trình phổ biến nhất hiện nay. Với ngôn ngữ C#, OOP mang đến nhiều lợi ích cho việc phát triển phần mềm. Bài viết này sẽ giúp người đọc hiểu rõ hơn về OOP và cách áp dụng nó trong C#. Việc nắm vững các khái niệm cơ bản sẽ giúp lập trình viên mới dễ dàng hơn trong việc xây dựng ứng dụng.

1.1. Tổng Quan Về Lập Trình Hướng Đối Tượng

Lập trình hướng đối tượng là một phương pháp lập trình dựa trên các đối tượng. Các đối tượng này có thể chứa dữ liệu và phương thức. OOP giúp tổ chức mã nguồn một cách hiệu quả và dễ bảo trì.

1.2. Lợi Ích Của Lập Trình Hướng Đối Tượng Trong C

OOP trong C# giúp tăng cường khả năng tái sử dụng mã nguồn, giảm thiểu lỗi và cải thiện khả năng bảo trì. Các tính năng như tính đóng gói, tính kế thừa và tính đa hình là những điểm mạnh của OOP.

II. Các Khái Niệm Cơ Bản Của Ngôn Ngữ C Trong Lập Trình Hướng Đối Tượng

Để hiểu rõ hơn về lập trình hướng đối tượng trong C#, cần nắm vững các khái niệm cơ bản như lớp, đối tượng, thuộc tính và phương thức. Những khái niệm này là nền tảng cho việc phát triển ứng dụng hiệu quả.

2.1. Lớp Và Đối Tượng Trong C

Lớp là một bản thiết kế cho các đối tượng. Đối tượng là một thực thể cụ thể được tạo ra từ lớp. Mỗi đối tượng có thể có các thuộc tính và phương thức riêng.

2.2. Tính Đóng Gói Trong C

Tính đóng gói cho phép bảo vệ dữ liệu bên trong đối tượng. Chỉ có các phương thức của lớp mới có quyền truy cập và thay đổi dữ liệu, giúp tăng cường tính bảo mật.

III. Tính Kế Thừa Và Tính Đa Hình Trong Lập Trình Hướng Đối Tượng C

Tính kế thừa cho phép một lớp mới kế thừa các thuộc tính và phương thức từ một lớp đã tồn tại. Tính đa hình cho phép các đối tượng khác nhau có thể được xử lý thông qua cùng một giao diện. Hai tính năng này giúp tối ưu hóa mã nguồn và tăng cường khả năng mở rộng.

3.1. Khái Niệm Tính Kế Thừa

Tính kế thừa cho phép lớp con kế thừa các thuộc tính và phương thức từ lớp cha. Điều này giúp giảm thiểu mã lặp lại và tăng cường khả năng tái sử dụng.

3.2. Tính Đa Hình Trong C

Tính đa hình cho phép các đối tượng khác nhau có thể được xử lý thông qua cùng một phương thức. Điều này giúp tăng cường tính linh hoạt trong lập trình.

IV. Xây Dựng Ứng Dụng Thực Tế Với C Và WinForm

Việc xây dựng ứng dụng thực tế với C# và WinForm giúp lập trình viên áp dụng lý thuyết vào thực tiễn. WinForm cung cấp giao diện người dùng dễ sử dụng và thân thiện.

4.1. Các Thành Phần Cơ Bản Trong WinForm

WinForm bao gồm nhiều thành phần như Button, Label, TextBox, giúp lập trình viên dễ dàng tạo giao diện người dùng. Mỗi thành phần có các thuộc tính và sự kiện riêng.

4.2. Ví Dụ Xây Dựng Ứng Dụng Quản Lý Học Sinh

Ứng dụng quản lý học sinh có thể được xây dựng bằng cách sử dụng các thành phần của WinForm. Các chức năng như thêm, sửa, xóa thông tin học sinh sẽ được thực hiện thông qua giao diện.

V. Thách Thức Khi Lập Trình Hướng Đối Tượng Với C

Mặc dù lập trình hướng đối tượng mang lại nhiều lợi ích, nhưng cũng có những thách thức mà lập trình viên cần phải đối mặt. Việc hiểu rõ các vấn đề này sẽ giúp cải thiện kỹ năng lập trình.

5.1. Các Vấn Đề Thường Gặp Trong OOP

Một số vấn đề thường gặp trong OOP bao gồm việc thiết kế lớp không hợp lý, khó khăn trong việc bảo trì mã nguồn và quản lý các mối quan hệ giữa các đối tượng.

5.2. Giải Pháp Khắc Phục Các Thách Thức

Để khắc phục các thách thức này, lập trình viên cần có kế hoạch thiết kế rõ ràng, sử dụng các mẫu thiết kế và thực hiện kiểm thử thường xuyên.

VI. Kết Luận Về Lập Trình Hướng Đối Tượng Với C

Lập trình hướng đối tượng với C# là một kỹ năng quan trọng trong phát triển phần mềm hiện đại. Việc nắm vững các khái niệm và ứng dụng thực tế sẽ giúp lập trình viên nâng cao khả năng cạnh tranh trên thị trường.

6.1. Tương Lai Của Lập Trình Hướng Đối Tượng

Với sự phát triển không ngừng của công nghệ, OOP sẽ tiếp tục đóng vai trò quan trọng trong việc phát triển phần mềm. Các xu hướng mới như lập trình hướng dịch vụ và microservices cũng sẽ ảnh hưởng đến OOP.

6.2. Lời Khuyên Cho Lập Trình Viên Mới

Lập trình viên mới nên bắt đầu từ những khái niệm cơ bản và dần dần nâng cao kỹ năng. Thực hành thường xuyên và tham gia vào các dự án thực tế sẽ giúp cải thiện kỹ năng lập trình.

10/07/2025

Trích đoạn nội dung tài liệu

LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG GV: Nguyễn Thanh Tùng Mail: tung.vn Trường ĐH Công Nghệ Sài Gòn KHOA CÔNG NGHỆ THÔNG TIN NỘI DUNG CHÍNH Giới thiệu lập trình hướng đối tượng Các khái niệm cơ bản của ngôn ngữ C# Lớp và đối tượng Xây dựng ứng dụng trên WinForm Tính thừa kế và tính đa hình Liên hệ giữa các lớp đối tượng Lập trình hướng đối tượng 2 Trường ĐH Công Nghệ Sài Gòn KHOA CÔNG NGHỆ THÔNG TIN Bài 1: GIỚI THIỆU LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG Lập trình hướng thủ tục Lập trình hướng đối tượng So sánh giữa lập trình hướng thủ tục và lập trình hướng đối tượng Lập trình Hướng đối tượng 3 Trường ĐH Công Nghệ Sài Gòn KHOA CÔNG NGHỆ THÔNG TIN I. Lập trình hướng thủ tục 1/ Đặc điểm: Chương trình = Cấu trúc dữ liệu + Giải thuật 2/ Ưu điểm: + Chương trình dể đọc, dể hiểu + Tư duy rõ ràng. 3/ Nhược điểm: + Không phù hợp với việc xây dựng các chương trình lớn + Không hỗ trợ việc tái sử dụng mã nguồn. Lập trình Hướng đối tượng 4 Trường ĐH Công Nghệ Sài Gòn KHOA CÔNG NGHỆ THÔNG TIN II.

Lập trình hướng đối tượng 1/ Đặc điểm: Chương trình = { tập các đối tượng } 2/ Lập trình hướng đối tượng có đầy đủ các tính chất của lập trình cấu trúc và có thêm các tính chất sau: + Tính đóng gói + Tính kế thừa + Tính đa hình 3/ Lập trình hướng đối tượng đã khắc phục những nhược điểm đã có của lập trình cấu trúc. Lập trình Hướng đối tượng 5 Trường ĐH Công Nghệ Sài Gòn KHOA CÔNG NGHỆ THÔNG TIN III. So sánh Lập trình hướng đối tượng Lập trình cấu trúc + Áp dụng cho những bài + Áp dụng cho những bài toán lớn và có nhiều luồng toán nhỏ và có các luồng dữ dữ liệu phức tạp khác nhau. + Dữ liệu bị hạn chế truy + Dữ liệu được truy cập tự cập trực tiếp từ bên ngoài.

do nên mất an toàn dữ liệu. + Tiếp cận bài toán dựa vào + Tiếp cận bài toán dựa vào mô hình “Bottom-Up” mô hình “Top-Down” Lập trình Hướng đối tượng 6 Trường ĐH Công Nghệ Sài Gòn KHOA CÔNG NGHỆ THÔNG TIN Bài 2: CÁC KHÁI NIỆM CƠ BẢN CỦA NGÔN NGỮ C# Tạo ứng dụng dạng Console Kiểu dữ liệu, biến và hằng Các phép toán và biểu thức Truyền tham số sang hàm Kiểu struct và kiểu DateTime Kiểu chuỗi và kiểu mảng Lập trình Hướng đối tượng 7 I. Tạo ứng dụng dạng Console 1/ Khởi động phần mềm Microsoft Visual Studio 2010. 2/ Chọn menu File/ New/ Projects -> chọn mục Console Application.

3/ Chương trình chính của ứng dụng: Lập trình hướng đối tượng 8 II. Kiểu dữ liệu, biến và hằng 1/ Kiểu dữ liệu cơ bản: + Kiểu ký tự: char + Kiểu số nguyên: int, long, … + Kiểu số thực: float, double, … + Kiểu luận lý: bool 2/ Biến: khai báo và sử dụng biến giống như C++ Ví dụ: int a;//khai báo biến a 3/ Hằng: khai báo và sử dụng hằng giống C++ Ví dụ: const int MAX=100; Lập trình hướng đối tượng 9 III. Các phép toán và biểu thức Tương tự như C++ 1/ Phép toán số học: +, -, *, /, % 2/ Phép toán quan hệ: >, <, >=, <=, ==, != 3/ Phép toán luận lý: !, &&, || 4/ Phép gán: = Lập trình hướng đối tượng 10 IV. Truyền tham số sang hàm 1/ Viết hàm tương tự C++ 2/ Truyền tham số sang hàm: + Truyền tham trị: + Truyền tham số có sử dụng từ khóa ref + Truyền tham số có sử dụng từ khóa out Lập trình hướng đối tượng 11 V.

Kiểu struct và kiểu DateTime 1/ Kiểu struct: tương tự như C++ Ví dụ: Kiểu PHANSO chứa một phân số và có hàm tăng phân số lên 1 đơn vị. 2/ Kiểu DateTime: được xây dựng từ kiểu struct và dùng lưu trữ dữ liệu dạng ngày và giờ. (tra cứu trong thư viện MSDN) Lập trình hướng đối tượng 12 VI. Kiểu chuỗi và kiểu mảng 1/ Kiểu chuỗi: string + Kiểu String là kiểu được xây dựng từ kiểu class.

(tra cứu thư viện MSDN) + Lưu trữ một dãy ký tự Unicode. 2/ Kiểu mảng: array + Kiểu Array là kiểu được xây dựng từ kiểu class. (tra cứu thư viện MSDN) + Mảng một chiều: + Mảng hai chiều: Lập trình hướng đối tượng 13 VII. Kiểu enum + Kiểu enum là kiểu liệt kê.

+ Kiểu Enum là kiểu được xây dựng từ kiểu class. (tra cứu thư viện MSDN) +Ví dụ: Lập trình hướng đối tượng 14 Trường ĐH Công Nghệ Sài Gòn KHOA CÔNG NGHỆ THÔNG TIN Bài 3: LỚP VÀ ĐỐI TƯỢNG Khái niệm đối tượng và lớp đối tượng Xây dựng lớp đối tượng Biểu diễn đối tượng và lớp đối tượng bằng UML Dữ liệu và phương thức static Định nghĩa các phép toán Lập trình Hướng đối tượng 15 I. Khái niệm đối tượng và lớp đối tượng  Đối tượng là một thực thể trong chương trình đang thực thi.  Đối tượng có hai thành phần chính là: • dữ liệu (thuộc tính-attribute/property) • hành vi (phương thức-method).

Lớp và đối tượng 16 I. Khái niệm đối tượng và lớp đối tượng  Ví dụ: Đối tượng số phức (a+i*b) • Dữ liệu: a (phần thực), b (phần ảo) là những số thực. • Hành vi: là các phép toán trên số phức như cộng, trừ, nhân, chia hai số phức và trả về modul của số phức. Lớp và đối tượng 17 I.

Khái niệm đối tượng và lớp đối tượng  Trạng thái của đối tượng là tập hợp các giá trị hiện có của các thành phần dữ liệu của đối tượng.  Lớp đối tượng là tập hợp các đối tượng có chung các thành phần dữ liệu và các phương thức. Lớp và đối tượng 18 I. Khái niệm đối tượng và lớp đối tượng  Tính đóng gói: Không cho phép người sử dụng đối tượng thay đổi trạng thái của đối tượng mà chỉ có những phương thức nội tại của đối tượng mới được phép thay đổi trạng thái của đối tượng.

 Các thành phần của đối tượng được che dấu bên trong đối tượng và chỉ có những thành phần mà đối tượng cho phép người sử dụng đối tượng truy cập đến thì mới truy cập được. Lớp và đối tượng 19 I. Khái niệm đối tượng và lớp đối tượng  Thuộc tính truy cập: • Thuộc tính truy cập riêng (private): chỉ truy cập được khi ở bên trong lớp đối tượng và không truy cập được khi ở bên ngoài lớp đối tượng. • Thuộc tính truy cập chung (public): truy cập được khi ở bên trong lớp đối tượng và cả khi ở bên ngoài lớp đối tượng.

Lớp và đối tượng 20 II. Xây dựng lớp đối tượng 1) Khai báo lớp đối tượng: class <tên lớp> { <các thành phần của lớp> } Lớp và đối tượng 21 II. Xây dựng lớp đối tượng Ví dụ: lớp số phức Lớp và đối tượng 22 II. Xây dựng lớp đối tượng 2) Tạo đối tượng: sử dụng từ khóa new Ví dụ: tạo đối tượng a thuộc lớp CSoPhuc CSoPhuc a = new CSoPhuc(); 3) Truy cập các thành phần của đối tượng: <tên đối tượng>.<tên thành phần của đối tượng> Ví dụ: a.setSophuc(2,3); Lớp và đối tượng 23 II.

Xây dựng lớp đối tượng 4) Định nghĩa phương thức: giống như định nghĩa hàm Ví dụ: Định nghĩa phương thức cập nhật thành phần dữ liệu của số phức. Lớp và đối tượng 24 II. Xây dựng lớp đối tượng 4) Định nghĩa Property: <thuộc tính truy cập> <kiểu property> <tên property> { get {…} set {…} } Lớp và đối tượng 25 II. Xây dựng lớp đối tượng Ví dụ: Định nghĩa Property cho phần thực của số phức.

Lớp và đối tượng 26 II. Xây dựng lớp đối tượng 5) Đối tượng this:  Khi xây dựng một lớp đối tượng thì trong nó tồn tại sẵn một đối tượng và được gọi là đối tượng this.  Ví dụ: định nghĩa phương thức cộng hai số phức. Lớp và đối tượng 27 II.

Xây dựng lớp đối tượng 6) Phương thức tạo lập (constructor):  Phương thức tạo lập dùng để khởi tạo các giá trị ban đầu cho đối tượng như: • Cấp phát vùng nhớ cho các thành phần dữ liệu, • Khởi gán giá trị ban đầu cho đối tượng, • Thiết lập mối quan hệ giữa đối tượng với các đối tượng khác trong chương trình… Lớp và đối tượng 28 II. Xây dựng lớp đối tượng  Cách xây dựng phương thức tạo lập: • Tên của phương thức tạo lập trùng với tên lớp, • Phương thức tạo lập không có Kiểu trả về (kể cả kiểu void), • Phương thức tạo lập có thể có tham số và cũng có thể không có tham số. Ví dụ: định nghĩa phương thức tạo lập cho lớp số phức. Lớp và đối tượng 29 II.

Xây dựng lớp đối tượng  Phương thức tạo lập được tự động gọi ngay sau khi đối tượng được tạo ra. Lớp và đối tượng 30 II. Xây dựng lớp đối tượng 7) Phương thức hủy (Destructor):  Phương thức hủy dùng “dọn dẹp” đối tượng trước khi đối tượng bị hủy.  Phương thức hủy không có Kiểu trả về và cũng không có tham số.

Tên của phương thức hủy trùng với tên lớp mà đặt thêm ký tự ‘~’ phía trước.  Trong lớp đối tượng có nhiều nhất một phương thức hủy. Lớp và đối tượng 31 II. Xây dựng lớp đối tượng  Ngôn ngữ C# cung cấp cơ chế thu dọn rác tự động (Garbage Collection)  Khi gọi phương thức GC.Collect() thì việc thu gom rác được thực hiện.

Lớp và đối tượng 32 III. Biểu diễn đối tượng và lớp đối tượng bằng UML 1) Biểu diễn lớp đối tượng Lớp và đối tượng 33 III. Biểu diễn đối tượng và lớp đối tượng bằng UML 2) Biểu diễn đối tượng Ví dụ : CSoPhuc a = new CSoPhuc(); a.setSophuc(2,3); Lớp và đối tượng 34 IV. Dữ liệu và phương thức static  Dữ liệu static: là thành phần dữ liệu không thuộc vào bất kỳ đối tượng nào mà chỉ phụ thuộc vào lớp đối tượng.

 Phương thức static: là phương thức được sử dụng thao tác trên các thành phần dữ liệu static hay những thành phần dữ liệu không phải thành phần dữ liệu của đối tượng. Lớp và đối tượng 35 IV. Dữ liệu và phương thức static  Khai báo các thành phần static của lớp: đặt thêm từ khóa static trước dòng khai báo.  Truy cập các thành phần static: <tên lớp>.<tên thành phần static> Lớp và đối tượng 36 IV.

Dữ liệu và phương thức static  Ví dụ: Lớp và đối tượng 37 V. Định nghĩa phép toán  Trong C# cho phép người dùng định nghĩa các phép toán chồng lên những phép toán đã được xây dựng.  Những phép toán xây dựng trong C# phải là thành phần static. Lớp và đối tượng 38 V.

Định nghĩa phép toán Ví dụ: định nghĩa phép toán cộng hai số phức và sử dụng phép toán đó.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ