11/09/2017
1
Chương 3
22
NỘI DUNG
1. Giới thiệu
2. Một số khái niệm
3. Thiết kế lớp
(class)
4. Thuộc tính
5. Phương thức
6. Phương thức khởi
tạo
7. Thành viên static
8. Sự đóng gói
9. Từ khóa this
10. Kế thừa
11.Đa hình
12.Lớp trừu tượng
13.Packages &
Interfaces
11/09/2017
2
33
1. Giới thiệu
Các phương pháp lập trình
Step-by-Step Programming
Procedural Programming
Object-Oriented Programming
44
Step-by-Step Programming
Lập trình từng bước
Machine Language, Assembly Language
1. Giới thiệu
1101011100111101
1010000111011101
0110111011001010
1000100100101011
...
MOV BX, CS
SUB BX, 10h
JNE label1
LOOP label2
...
11/09/2017
3
55
Procedural Programming
Thiết kế top-down.
Chương trình được
chia thành các hàm,
thủ tục.
Ngôn ngữ: Pascal, C
Hạn chế:dùng dữ liệu toàn cục,khó phát
triển,khó tả các thực thể trong thực
tế
5
1. Giới thiệu
Program
Proc3
Proc1
Proc2
66
Object-Oriented Programming
Chương trình bao gồm các đối tượng.
Các đối tượng tương tác với nhau thông
qua các phương thức của chúng
Dễ tả các thực thể
Dễ phát triển,
mở rộng chương trình
6
1. Giới thiệu
Object A
Object C
Object B
Object D
11/09/2017
4
77
Vấn đề i toán (*)
Cho một tập tin lưu tọa độ (x,y) của các thành phố,
bắt đầu số ợng thành phố như sau:
6
50 20
90 60
10 72
74 98
5 136
150 91
Viết một chương trình hiển thị tọa độ các thành phố
trên một DrawingPanel, sau đó đặt một “quả bom” với
bán kính cho trước và tô màu đỏ các thành phố trong
phạm vi sẽ bị “nổ”.
1. Giới thiệu
88
Cách viết không tốt
Scanner input = new Scanner(new
File("cities.txt"));
int cityCount = input.nextInt();
int[] xCoords = new int [cityCount];
int[] yCoords = new int [cityCount];
for (int i = 0; i < cityCount; i++) {
xCoords[i] = input.nextInt();
// read each city
yCoords[i] = input.nextInt();
}
...
Sử dụng song song 2 mảng để lưu tọa độ x
y cho mỗi thành phố với cùng một chỉ số
1. Giới thiệu
11/09/2017
5
99
Quan t i toán
Dữ liệu trong bài toán này tập hợp các
điểm (Point) cần lưu trữ các đối tượng
Point.
Mỗi Point chứa hai tọa độ x y
So sánh khoảng cách giữa các điểm để xem
một điểm nằm trong phạm vi nổ bom hay
không.
Mỗi Point thể tự vẽ chính
Tạo class Point
1. Giới thiệu
1010
2. Một số khái niệm
Lớp (class): một kiểu dữ liệu mở rộng
được định nghĩa, bao gồm:
Danh sách các thuộc tính (dữ liệu)
Các phương thức tả hành vi của một
nhóm đối tượng nào đó
Đối tượng (object):
một thể hiện cụ thể của lớp, các thuộc tính
giá trị xác định.
một biến kiểu dữ liệu lớp.