Actionscript 3 là một ngôn ngữ hướng đối tượng (OOP). Với những học viên đã từng sử dụng một ngôn ngữ lập trình khác như Java thì nội dung bài sẽ là kim chỉ nam cho việc tìm hiểu về cấu trúc AS3 và thao tác với các thư viện api của AS3. Với những học viên mới, hãy cố gắng nhớ và hiểu theo cách của bạn, vì 4 bài tiếp theo các bạn sẽ dần dần hiểu và nắm được.
GIÁO TRÌNH KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
Lesson 06 : OOP and Access modifier
1. 1. Khái niệm lập trình hướng đối tượng
2. Thành phần chính và các đặc tính cơ bản
của lập trình hướng đối tượng.
3. Cấu trúc Class và cách tạo một Object
4. Access modifier
3. • Trong thế giới thực, mọi thứ đều tồn tại
độc lập, có tính chất đặc trưng, khả năng
riêng biệt và có thể tương tác lẫn nhau
4. Lớp: con người
Thuộc tính: chiều cao, cân nặng…
Hành động: lái xe, đi bộ, chạy….
Lớp: xe máy
Thuộc tính: dung tích xi lanh, loại xe…
Hành động: chạy, hú còi, phanh…
Hành động lái xe
gọi tới hành động
chạy của xe
Hành động chạy
của xe làm thay
đổi vị trí và tốc độ
của cả người và
xe
Gọi hành động lái xe
Các đối tượng là chìa khóa để nắm bắt được khái niệm lập trình hướng
đối tượng.
5. • Sự tương tác giữa các đối tượng thường
mang tính phụ thuộc
Tôi có thể
lái, nhưng
mà không
có xe
Tôi có thể
chạy nhưng
không có
người lái
6. • Một cách giản lược, OOP là phương pháp
lập trình lấy các đối tượng làm trung tâm.
• Đây là phương pháp giúp cho tư duy lập
trình gần với cuộc sống thực, đơn giản và
dễ dàng hơn.
7. Thành phần chính và các đặc
tính cơ bản của lập trình
hướng đối tượng.
8. • Thành phần chính :
– Class (lớp): Có thể coi như là một khuôn mẫu
để tạo ra các đồ vật. Nếu khuôn có hình tròn
thì mọi vật tạo ra từ khuôn sẽ đều có hình
tròn v.v..
– Object (đối tượng): Có thể coi là một đồ vật
tạo ra từ khuôn. Ngoài các đặc điểm sẵn có
khi được tạo ra (hình tròn) thì còn có thêm
những đặc điểm khác nhau như màu sắc, hoa
văn (được thêm vào sau khi đồ vật được tạo)
9. • Class
Là những mô tả tổng quan về sự tồn tại
của một kiểu đối tượng bao gồm thuộc
tính, tính chất và khả năng đặc trưng hay
hành vi của một kiểu đối tượng (giống như
sự định nghĩa về các lớp hay loài trong tự
nhiên)
10. • Object:
Là những đối tượng thực được sử dụng
trong hệ thống (tồn tại trong thực tế) mang
những đặc tính và hành vi cơ bản dựa
trên Class (lớp) đã định nghĩa nó.
11.
12. • Các đặc tính cơ bản :
– Extend (tính kế thừa)
– Abstraction (tính trừu tượng)
– Polymorphism (tính đa hình)
– Encapsulation (Tính đóng gói)
Trong khuôn khổ bài học chúng ta sẽ chỉ học và sử
dụng tính kế thừa
13. • Tính kế thừa
Cho phép một đối tượng có thể có sẵn các
đặc tính mà đối tượng khác đã có (như
tính di truyền của sinh vật).
• Tính đóng gói
Cho phép xác định giới hạn truy cập các
thuộc tính và phương thức của một đối
tượng (sẽ tìm hiểu kĩ ở phần sau).
15. • Cấu trúc của một Class
– Properties (các thuộc tính đặc trưng)
– Method / Function (khả năng hay các hành vi
đặc trưng)
– Constructor (một function đặc biệt được gọi
ngay khi một đối tượng ra đời).
16. • Cách khởi tạo một đối tượng:
Giả sử ta muốn tạo một đối tượng có tên là
hachi và lớp định nghĩa của nó là Robot:
var hachi:Robot = new Robot();
18. • Được sử dụng như một cách để giới hạn
mối liên kết hay khả năng tương tác giữa
các đối tượng.
• Có 4 dạng liên kết cơ bản
1. Public
2. Private
3. Protected
4. internal
19. • Public: có thể gọi và sử dụng từ bất kỳ đâu.
• Private: chỉ có thể gọi và sử dụng bên trong lớp
định nghĩa.
• Protected: chỉ có thể gọi và sử dụng bên trong
lớp định nghĩa và các lớp kế thừa từ nó.
• Internal: có thể gọi và sử dụng bên trong lớp
định nghĩa và các lớp cùng cấp (cùng package).
23. Bài 1: Trong file AddBugs.fla đã có sẵn symbol bug và được liên kết với một Class Bug
tương ứng. Sử dụng code để tạo 10 đối tượng Bug và addChild tại các vị trí ngẫu
nhiên trên màn hình.
Gợi ý: sử dụng hàm Math.random() để lấy một được một giá trị ngẫu nhiên từ 0 đến
xấp xỉ 1.
Bài 2: Tương tự như bài 1, hãy tạo bắt sự kiện click chuột sao cho khi click vào đâu thì
tại điểm đó sẽ xuất hiện một con bug.
Gợi ý: sử dụng stage.mouseX và stage.mouseY để lấy vị trí tọa độ của chuột trên
màn hình.
Bài 3: Tương tự như bài 2, thêm tính năng sao cho ngay khi xuất hiện trên màn hình,
những con bug sẽ tự động di chuyển sang phải.
Gợi ý: sử dụng sự kiện Event.Enter_Frame để tạo di chuyển cho bug
Bài 4: Tương tự như bài 3, thêm tính năng sao cho khi các con bug đang di chuyển, nếu
bị click vào thêm một lần nữa thì nó sẽ biến mất.