KỸ THUẬT LẬP TRÌNH
❖ Trường Đại học Kinh tế Cơng nghiệp Long An
❖ Khoa Công nghệ
❖ Giảng viên: ThS. Ngô Văn Linh
CHƯƠNG 7: KIỂU CẤU TRÚC VÀ LỚP
❑ Gồm các nội dung chính:
7.1. Kiểu cấu trúc
Khoa Cơng Nghệ
7.2. Mảng và cấu trúc
7.3. Lớp và xây dựng lớp
7.4. Từ khóa (this, static) và phương thức Main
2
7.1. KIỂU CẤU TRÚC
Khoa Công Nghệ
❑ Khái niệm
❖Kiểu cấu trúc (structure) là kiểu dữ liệu gồm nhiều thành phần bên trong có
kiểu dữ liệu khác nhau, mỗi thành phần được gọi là một trường (field).
❖Cú pháp khai báo
<thuộc tính truy cập> struct <tên struct>{
//Thuộc tính
//Phương thức
}
(structure)
3
7.1. KIỂU CẤU TRÚC
<tên struct>
<tên biến> =
new
struct>( );
Truy cập thành phần
Khoa Cơng Nghệ
4
Khởi tạo struct
❑ Ví dụ: Khai báo cấu trúc sinh viên chứa thông tin: Mã sinh viên, họ và tên,
ngày sinh, giới tính, điểm trung bình
struct>.
thành phần>
7.1. KIỂU CẤU TRÚC
❑ Ví dụ: tiếp phần cấu trúc sinh viên
Khoa Công Nghệ
5
7.1. KIỂU CẤU TRÚC
❑ Ví dụ: tiếp phần cấu trúc sinh viên
Khoa Cơng Nghệ
6
Từ khóa public cho phép hàm bên
ngồi có thể truy cập vào thành viên
của cấu trúc
7.1. KIỂU CẤU TRÚC
❑ Ví dụ: Xây dựng lớp phân số có 2 biến thành viên Tử số và Mẫu số; phương
thức rút gọn phân số.
Khoa Công Nghệ
Trong hàm Main, ta có thể viết int b = ps.UCLN(6, 18); hay không?
7
CHƯƠNG 7: KIỂU CẤU TRÚC VÀ LỚP
❑ Gồm các nội dung chính:
7.1. Kiểu cấu trúc
Khoa Cơng Nghệ
7.2. Mảng và cấu trúc
7.3. Lớp và xây dựng lớp
7.4. Từ khóa (this, static) và phương thức Main
8
7.2. MẢNG VÀ CẤU TRÚC
Khoa Công Nghệ
9
❑ Mảng cấu trúc cũng giống như mảng kiểu dữ liệu thông thường
❖Cú pháp
<tên cấu trúc>[ ] <tên mảng>;
❖Cấp phát
<tên mảng> = new <tên cấu trúc>[<số lượng phần tử>];
❖Ví dụ
SinhVien[ ] dssv = new SinhVien[5];
7.2. MẢNG VÀ CẤU TRÚC
❑ Ví dụ: Xây dựng mảng sinh viên
Chỉ số
Khoa Công Nghệ
0
1
2
3
4
dssv
+ Mã số
+ Họ tên
+ Ngày sinh
+ Giới tính
+ Điểm trung bình
dssv [1]
10
CHƯƠNG 7: KIỂU CẤU TRÚC VÀ LỚP
❑ Gồm các nội dung chính:
7.1. Kiểu cấu trúc
Khoa Cơng Nghệ
7.2. Mảng và cấu trúc
7.3. Lớp và xây dựng lớp
7.4. Từ khóa (this, static) và phương thức Main
11
7.3. LỚP VÀ XÂY DỰNG LỚP
Khoa Công Nghệ
12
❑ Giới thiệu
❖Trong lập trình hướng đối tượng: Lớp (class) và Đối tượng (object) là thành
phần cơ bản nhất.
➢Lớp (class) là bước nâng cấp của cấu trúc (struct)
✓Thừa kế
✓Đa hình
✓Đóng gói
➢Khai báo class
✓Giống cách khai báo struct
(thay thế chữ struct thành chữ class)
Chi tiết hơn về Class sẽ được giới thiệu ở học
phần Lập trình hướng đối tượng C#.NET
CHƯƠNG 7: KIỂU CẤU TRÚC VÀ LỚP
❑ Ví dụ lớp phân số, xây dựng hàm khởi tạo đầy đủ tham số, hàm khởi tạo sao
chép
Khoa Công Nghệ
Cho biết tử số và mẫu số của
phân số a, b, c, d?
13
CHƯƠNG 7: KIỂU CẤU TRÚC VÀ LỚP
❑ Gồm các nội dung chính:
7.1. Kiểu cấu trúc
Khoa Cơng Nghệ
7.2. Mảng và cấu trúc
7.3. Lớp và xây dựng lớp
7.4. Từ khóa (this, static) và phương thức Main
14
7.4. TỪ KHĨA (THIS, STATIC) VÀ PHƯƠNG THỨC MAIN
Khoa Cơng Nghệ
❑ Từ khóa this
❖Để tham chiếu đến đối tượng hiện thời của lớp
❖Sử dụng theo 3 cách
➢Biến thuộc tính bị che bởi tham số truyền
➢Truyền đối tượng hiện hành vào một tham số của một phương thức của
đối tượng khác
➢Sử dụng như mảng chỉ mục
Chi tiết hơn về từ khóa this sẽ được giới thiệu ở
học phần Lập trình hướng đối tượng C#.NET
15
7.4. TỪ KHÓA (THIS, STATIC) VÀ PHƯƠNG THỨC MAIN
❑ Từ khóa static và phương thức Main
❖Các thành phần của lớp có thể được khai báo tĩnh bằng cách thêm từ khóa
static
Khoa Cơng Nghệ
Khơng cần khởi tạo
đối tượng
16
CÂU HỎI ƠN TẬP
Khoa Cơng Nghệ
17
1)
2)
3)
4)
5)
Cấu trúc (struct) là gì? Cú pháp khai báo cấu trúc?
Mảng cấu trúc được khai báo như thế nào?
Lớp (class) là gì? Cú pháp khai báo lớp?
So sánh giữa cấu trúc và lớp?
Thành phần của lớp được khai báo static để làm gì?
BÀI TẬP CHƯƠNG 7
Khoa Công Nghệ
18
1) Hãy định nghĩa kiểu struct Hoso có thơng tin: họ tên (chuỗi), điểm (số thực);
Viết chương trình nhập vào họ tên, điểm của n học sinh. Xếp loại văn hóa
theo cách sau:
Nếu điểm >= 8 thì xếp loại Giỏi
Ngược lại nếu điểm >= 7 thì xếp loại Khá
Ngược lại nếu điểm >= 5 thì xếp loại Trung bình
Ngược lại xếp loại là Khơng đạt
2) Xem một phân số là một cấu trúc có hai trường là tử số và mẫu số. Hãy viết
chương trình thực hiện các phép toán cộng, trừ, nhân, chia hai phân số. (Các
kết quả phải tối giản)
BÀI TẬP CHƯƠNG 7
Khoa Công Nghệ
19
3) Sản phẩm điện thoại có cấu trúc thơng tin như sau: Mã sản phẩm, tên sản
phẩm, hãng sản xuất, số lượng nhập, đơn giá nhập, số lượng xuất, đơn giá
xuất. Viết chương trình thực hiện như sau:
1. Nhập thơng tin sản phẩm
2. Tìm kiếm sản phẩm bất kỳ theo mã sản phẩm
3. In toàn bộ sản phẩm
4. In toàn bộ sản phẩm theo hãng sản xuất
5. Xem doanh thu của từng loại sản phẩm của từng hãng
6. Xem hàng tồn kho của từng hãng sản xuất
7. Thốt
Khi người dùng chọn chức năng nào thì thực hiện chức năng đó.
BÀI TẬP CHƯƠNG 7
Khoa Công Nghệ
20
4) Xây dựng lớp NhaKho với các dữ liệu: mã nhà kho, tên nhà kho, sức chứa và
số lượng thể hiện của lớp; với các phương thức: khởi tạo với đầy đủ các
tham số dữ liệu trên vào, khởi tạo sao chép, xuất các dữ liệu ra màn hình,
tính sức chứa trung bình cho tất cả các Nhà kho?
5) Thực hiện theo yêu cầu sau: