Tài liệu tham khảo: Lập trình hướng đối tượng căn bản bằng C#

MỤC LỤC

CƠ BẢN VỀ NGÔN NGỮ LẬP TRÌNH C#

Biểu thức

Bước 1: Ưu tiên xử lý Prefix trước Bước 2: Thực hiện các phép toán còn lại Bước 3: gán giá trị cho biến bên trái dấu bằng.

Các cấu trúc điều khiển

Cấu trúc lặp do … while giống như vòng lặp while, dùng để lặp lại một statement trong khi expression là true, statement luôn luôn được thực hiện ít nhất 1 lần. Ngoài ra, trong các cấu trúc lặp, nếu muốn thoát khỏi 1 vòng lặp tức thì mà không chờ cho đến khi biểu thức điều kiện (conditional expression) của cấu trúc được định trị là false, ta dùng lệnh break.

Hình 2. 6 - Lưu đồ cú pháp Switch
Hình 2. 6 - Lưu đồ cú pháp Switch

Một số thư viện thường dùng trong C#

Nếu <Điều kiện> đúng thì <Biểu thức 1> thực hiện, ngược lại <Biểu thức 2> thực hiện, đây cũng là dạng rút gọn của if…else.

Hàm trong C#

 Khi gọi hàm, ta cung cấp các giá trị thật, các giá trị này sẽ được sao chép vào các tham số hình thức và các giá trị thật được gọi là tham số thực. Trong ngôn ngữ lập trình, một biến sẽ chứa giá trị và địa chỉ ô nhớ để lưu giá trị của biến đó, khi chúng ta truyền tham số cho một phương thức sẽ có hai cách, truyền theo tham số và truyền theo tham trị.

Xử lý mảng Khái niệm

C# hỗ trợ mảng nhiều chiều, ở đây ta xét mảng 2 chiều vì nó phổ biến nhất. Ta có thể xem mảng hai chiều là một ma trận gồm các hàng và các cột.

Hình 2. 20- Kết quả nhập xuất mảng 2 chiều tự động
Hình 2. 20- Kết quả nhập xuất mảng 2 chiều tự động

Chuỗi và các thao tác trên chuỗi Kiểu ký tự (char)

Nội dung : Copy count ký tự bắt đầu từ vị trí sourceIndex trong chuỗi vào mảng ký tự destination bắt đầu tại vị trí destinationIndex. Nội dung : Trả về chuỗi được xây dựng từ chuỗi FormatStr bằng cách thay thế các vị trí {<value i>:<kiểu format>} trong FormatStr thành các giá trị value1, value2, … tương ứng.

Câu hỏi ôn tập

Nội dung : Trả về chuỗi con trong chuỗi ban đầu, bắt đầu từ vị trí startIdx và có độ dài count ký tự.

Nhập một số nguyên, kiểm tra số vừa nhập là chẵn hay lẻ 1

Viết chương trình kiểm tra một số được nhập vào có phải là số nguyên tố hay.

Viết hàm nhập vào 2 chuỗi, so sánh hai chuỗi này 1

Viết hàm nhập vào một chuỗi theo cấu trúc: Mã sinh viên; Họ tên; Email. Xuất ra Mã sinh viên, Họ tên, Email trên từng dòng (sử dụng hàm Split).

    LỚP, ĐỐI TƯỢNG VÀ PHƯƠNG THỨC

    Định nghĩa Lớp (Class) và Đối tượng (Object) Đối tượng (Object)

    Một lớp là một kiểu cấu trúc mở rộng, đó là một kiểu mẫu chung cho các đối tượng thuộc cùng một loại, tức là các đối tượng có các đặc điểm (thuộc tính và phương thức) giống nhau được gom nhóm thành một lớp để phân biệt với các đối tượng khác và dễ quản lý. - Tất cả mọi thao tác truy xuất vào thành phần dữ liệu từ đối tượng này qua đối tượng khác phải được thực hiện bởi các phương thức (method) của chính đối tượng chứa dữ liệu.

    Phương thức (Method)

     Tên lớp có thể gồm nhiều từ, ký tự đầu tiên của mỗi từ nên viết hoa. Ví dụ 2: Viết chương trình nhập chiều dài, chiều rộng của hình chữ nhật và xuất ra diện tích, chu vi của hình chữ nhật (sử dụng phương thức, đối tượng, lớp).

    Đóng gói dữ liệu với thuộc tính (Property)

    //Sử dụng biến tb để gán vào phương thức TinhDiemTB() float tb = s1.TinhDiemTB();. s1.LayDiemToan,s1.LayDiemTin, tb);.

    Phương thức khởi tạo và phương thức tĩnh Phương thức khởi tạo (Constructor)

    Ví dụ 2: Xây dựng một lớp Time trong đó có một phương thức tạo lập nhận tham số có kiểu DateTime (kiểu xây dựng sẵn của trình biên dịch) làm tham số khởi gán cho các thành phần dữ liệu của đối tượng thuộc lớp Time. Như vậy, trong cùng một lớp, các đối tượng khác nhau có những biến dữ liệu cùng tên, cùng kiểu nhưng được cấp phát ở các vùng nhớ khác nhau và giá trị của chúng cũng có thể khác nhau.

    Quá tải phương thức (Overloading Method)

    //Nếu có sử dụng từ khóa Static cho phương thức MauLong()thì khi truy cập ta khai báo Dog.MauLong();.

    Viết chương trình xây dựng lớp Giải phương trình bậc 2

    Viết chương trình xây dựng lớp Tính điểm trung bình các môn học sử dụng thuộc tính get, set.

    Viết chương trình xây dựng lớp lớp Phân số và các thao tác trên phân số như +, -,

    Tương tự, ta áp dụng cho các phép toán trừ, nhân, chia các phân số Cách 2: Sử dụng thuộc tính (Properties: get, set). Viết chương trình xây dựng lớp Tài khoản ngân hàng hiển thị lên màn hình tài khoản gồm các thông tin sau: Tên tài khoản ---- Số tài khoản ---- Số dư.

    Viết chương trình xây dựng lớp gồm danh sách sinh viên lớp D01_D02 thi môn Lập trình hướng đối tượng với các thông tin sau

    Lập danh sách các loại hàng hóa được nhập trong siêu thị với các thông tin: Mã hàng hóa, tên hàng hóa, số lượng, đơn giá. In ra màn hình hóa đơn mua hàng của một khách hàng với các thông tin: Mã hàng,.

    In ra màn hình hóa đơn mua hàng của một khách hàng với các thông tin: Mã hàng, Tên hàng, Số lượng, Đơn giá, Số tiền phải trả cho từng mặt hàng và Tổng số tiền

    Lập danh sách quản lý sách trong thư viện với các thông tin: Mã sách, chủng loại sách, tên sách, năm xuất bản, nhà xuất bản, số lượng, đơn giá. Lập danh sách quản lý xe oto trong gara với các thông tin: Tên xe, số máy, hãng sản xuất, năm sản xuất, số lượng.

    Viết chương trình thể hiện giá trị ngày tháng năm sử dụng quá tải phương thức theo gợi ý dưới đây

    Viết chương trình thể hiện giá trị ngày tháng năm sử dụng quá tải phương thức.

    THỪA KẾ, ĐA HÌNH VÀ PHƯƠNG THỨC ẢO

    Tổng quát hóa và chuyên biệt hóa

    Ví dụ: “Sơn dương là một loài động vật, đại bàng cũng là một loài động vật ”, thì có nghĩa là: “Sơn dương và đại bàng là những loại động vật chuyên biệt, chúng có những đặc điểm chung của động vật và ngoài ra chúng có những đặc điểm phân biệt nhau”. Và như vậy, động vật là tổng quát hóa của sơn dương và đại bàng; sơn dương và đại bàng là chuyên biệt hóa của động vật.

    Sự thừa kế Khái niệm

    Nếu lớp cơ sở có một phương thức tạo lập mặc định (tức là không có phương thức tạo lập hoặc phương thức tạo lập không có tham số) thì phương thức tạo lập của lớp dẫn xuất được định nghĩa như cách thông thường. Trong ví dụ trên, vì phương thức tạo lập của lớp HinhHoc có tham số: chuVi, dienTich nên khi lớp HinhTron dẫn xuất từ lớp HinhHoc, phương thức tạo lập của nó cần có hai tham số chuVi, dienTich và dùng với từ khóa base.

    Hình 4. 5- Kết quả khi thừa kế các lớp điểm
    Hình 4. 5- Kết quả khi thừa kế các lớp điểm

    Phương thức ảo (virtual method) và tính đa hình (polymorphism) Tính đa hình

    Làm thế nào lưu danh sách (mảng) 2 loại ấn phẩm cùng lúc & thực thi đúng hành động Lấy ra của loại ấn phẩm đó ?. Ví dụ 3: Viết chương trình nhập xuất nhân viên, biết rằng gồm 2 loại nhân viên: Nhân viên biên chế và nhân viên hợp đồng.

    Hình 4. 6- Tính đa hình [Nguồn internet]
    Hình 4. 6- Tính đa hình [Nguồn internet]

    Giao diện (interface)

    Các thành phần bên trong interface chỉ có phần khai báo mà không có phần thân và có mức truy xuất luôn là public. Lớp SinhVien thực thi (implements) interface ILamViec nên phải định nghĩa lại (override) toàn bộ phương thức trong interface, cụ thể là phương thức LamViec().

    Câu hỏi ôn tập

    Tương tự như lớp SinhVien, lớp NhanVien cũng phải override toàn bộ phương thức của interface ILamViec. Lớp Object cung cấp những phương thức nào mà các lớp khác thường xuyên thừa kế để sử dụng.

    Bài tập thực hành

    Lớp của các đối tượng nút nhấn (button), nhãn (label), nút chọn (option button), danh sách sổ xuống (combobox)… đều thừa kế từ lớp Window và đều có các phương thức vẽ (hiển thị) riêng của mình lên form. - Mỗi nhân viên sẽ thuộc về một phòng ban, thông tin của phòng ban (mã phòng ban, tên phòng ban, trưởng phòng hiện tại), thông tin của mỗi nhân viên (mã nhân viên, tên nhân viên, ngày sinh, chức vụ).

    XÂY DỰNG ỨNG DỤNG WINDOWS FORM

    Môi trường thiết kế

    Ta có thể dùng các phím tắt để chuyển đổi qua lại giữa các màn hình này: Nhấn phím F7 để mở màn hình xử lý sự kiện (giao diện viết code), nhấn phím Shift-F7 để mở màn hình thiết kế giao diện. AcceptButton Chọn nút bấm được thực hiện khi nhấn Enter CancelButton Chọn nút bấm được thực hiện khi nhấn Escape.

    Hình 5. 5- Giao diện thiết kế Windows form
    Hình 5. 5- Giao diện thiết kế Windows form

    Thanh công cụ Toolbox

    Đôi khi trong quá trình thiết kế, ta thường chọn một nhóm các control hay sử dụng. 13-Một nhóm các điều khiển Cách kéo thả các control từ Toolbox ra Windows Form.

    Hộp thoại (MessageBox)

    Hiển thị nội dung, tiêu đề và các nút lệnh tương tác trong thông báo. Hiển thị nội dung, tiêu đề, các nút lệnh tương tác và biểu tượng trong thông báo.

    Các điều khiển cơ bản Nhãn (Label)

    RemoveAt Xóa một phần tử theo vị trí khỏi Combobox Clear Xóa toàn bộ phần tử trong Combobox Insert Chèn một phần tử vào Combobox OfType Lọc ra các phần tử có cùng kiểu dữ liệu. GridLines true để hiển thị đường kẻ lưới cho ListView FullRowSelect true cho phép người dùng chọn được cả dòng trên ListView (nếu false người dùng chỉ chọn được ô đầu tiên của mỗi dòng) HideSelection true cho phép không ẩn dòng đang chọn trên.

    Hình 5. 23- Thiết kế giao diện với các điều khiển
    Hình 5. 23- Thiết kế giao diện với các điều khiển

    Kết nối cơ sở dữ liệu đến SQL Server Cách tạo chuỗi kết nối

    Để truy vấn 1 giá trị ta dùng hàm ExecuteReader Ví dụ 1: Lấy thông tin chi tiết Sản phẩm có mã =2.

    Hãy tạo form như mẫu dưới đây và thực hiện các yêu cầu sau

    Bước 3: Viết các sự kiện cho các control, dưới đây là toàn bộ lệnh của các sự kiện 1.

    Hãy thiết kế form dưới đây và viết lệnh thực hiện từng chức năng tương ứng

    //trước khi chọn số chẵn thì ta phải bỏ chọn toàn bộ các số cũ.

    Hãy thiết kế form dưới đây và viết lệnh thực hiện từng chức năng sau

    Cho phép người dùng nhập tên và số phone, lựa chọn sản phẩm, chọn phương thức thanh toán và nhấn nút “Đặt hàng”, thông tin chi tiết đơn hàng hiển thị ở khung textbox bên phải của form.

    Hãy thiết kế form dưới đây

    Bước 3: Viết các sự kiện cho các control, dưới đây là toàn bộ lệnh của các sự kiện. Hãy thiết kế form như mẫu và viết chương trình Quản lý sản phẩm theo theo đặc.

    Hãy thiết kế form như mẫu và viết chương trình Quản lý sản phẩm theo theo đặc tả dưới đây

       Cho phép người dùng chọn danh mục để nhập Mã sản phẩm, tên sản phẩm, giá, xuất xứ và hạn sử dụng sản phẩm, nhấn nút “Lưu” để lưu vào danh sách sản phẩm. - Màn hình chi tiết danh mục (Quản lý danh mục): Cho phép nhập mã danh mục, tên danh mục, nhấn nút Lưu để lưu, nút Xóa để xóa và nút Đóng để đóng lại.