You are on page 1of 30

ĐẠI HỌC BÁCH KHOA – ĐẠI HỌC ĐÀ NẴNG

KHOA CÔNG NGHỆ THÔNG TIN

Logo
Môn học

Lập Trình Java


Giảng Viên: Phạm Minh Tuấn

Phạm Minh Tuấn Khoa CNTT - Đại Học Bách Khoa


I T F
Giới thiệu
 Phạm Minh Tuấn
 E-mail: pmtuan@dut.udn.vn
 Tel: 0913230910
 Khoa Công nghệ thông tin –Trường ĐHBK –
ĐHĐN

Phạm Minh Tuấn Khoa CNTT - Đại Học Bách Khoa


I T F
Thỏa thuận
Đối với giáo viên:
 Dạy đủ tất cả nội dung của môn học.
 Trả lời các câu hỏi của học sinh trong và
ngoài giờ giảng liên quan tới môn học.
 Ra bài tập cho học sinh
 Lên lớp đúng giờ

Phạm Minh Tuấn Khoa CNTT - Đại Học Bách Khoa


I T F
Thỏa thuận (tiếp)
Đối với học sinh:
 Tham gia trên 80% số tiết học.
 Tham gia đóng góp tiết học như phát biểu, trả
lời hay đặt câu hỏi cho giáo viên (không nói
chuyên riêng)
 Làm bài tập đầy đủ.
 Lên lớp đúng giờ (không được đi trễ hơn giáo
viên quá 5 phút)

Phạm Minh Tuấn Khoa CNTT - Đại Học Bách Khoa


I T F
Mục tiêu môn học
Hiểu được các khái niệm và đặc trưng của
ngôn ngữ Java
Sử dụng được các khái niệm, thành phần,
kỹ thuật lập trình hướng đối tượng với
Java
Áp dụng các kỹ thuật lập trình hướng đối
tượng trong java nhằm lập trình tạo giao
diện, lập trình đa tuyến, lập trình vào ra và
lập trình kết nối cơ sở dữ liệu
Phạm Minh Tuấn Khoa CNTT - Đại Học Bách Khoa
I T F
Tóm tắt môn học
 Học phần cung cấp cho sinh viên các kiến thức
về lập trình hướng đối tượng bằng ngôn ngữ lập
trình Java. Giúp cho sinh viên thiết kế và xây
dựng được phần mềm bằng ngôn ngữ Java.
 Học phần này thuộc khối kiến thức chung của
ngành Công nghệ Thông tin và được giảng dạy
sau khi sinh viên đã học về Lập trình hướng đối
tượng, đang học Cơ sở dữ liệu và các học phần
cơ sở khác của ngành Công nghệ Thông tin.

Phạm Minh Tuấn Khoa CNTT - Đại Học Bách Khoa


I T F
Nội dung môn học
 Bài 1: Sơ lược lập trình hướng đối tượng
 Bài 2: Giới thiệu ngôn ngữ lập trình Java
 Bài 3: Các kiến thức cơ bản của Java
 Bài 4: Packages & Interfaces
 Bài 5: Xử lý biệt lệ
 Bài 6: Lập trình giao diện với AWT-SWING
 Bài 7: Lập trình đa tuyến
 Bài 8: Các luồng I/O
 Bài 9: Kết nối CSDL

Phạm Minh Tuấn Khoa CNTT - Đại Học Bách Khoa


I T F

Bài 1:
Sơ lược lập trình hướng đối tượng

Phạm Minh Tuấn Khoa CNTT - Đại Học Bách Khoa


I T F
Mục tiêu bài học
 Hiểu ngôn ngữ lập trình hướng đối tượng
 Phân biệt Lớp, Đối tượng và Thực thể
 Constructor và Destructor
 Tìm hiểu tính bao bọc dữ liệu, tính kế thừa và
đa hình
 Các ưu điểm của phương pháp lập trình hướng
đối tượng

Phạm Minh Tuấn Khoa CNTT - Đại Học Bách Khoa


I T F
Ngôn ngữ lập trình hướng đối tượng
 Giải quyết các bài toán từ nhỏ đến lớn bằng
cách quan sát và tưởng tượng những hành
động, đặc điểm của thực thể thật ngoài đời sống
và đem vào lập trình như một đối tượng ảo.
 Thể hiện qua các lớp (class), đối tượng
(Object) và thực thể (Instance) mà hành động là
các phương thức (method) còn đặc điểm chính
là các biến (variable)

Phạm Minh Tuấn Khoa CNTT - Đại Học Bách Khoa


I T F
Phân biệt Class, Object và Instance
Lớp (class) ?
Đối tượng (object) ?
Thực thể (instance) ?

Phạm Minh Tuấn Khoa CNTT - Đại Học Bách Khoa


I T F
Lớp (class)
 Lớp:
 Là một bản mô tả những đặc điểm cần có của một
nhóm thực thể nào đó trong thế giới (có cùng các đặc
điểm) .
 Trong mỗi chương trình khác nhau, tùy vào yêu cầu, ta
phân lớp các đối tượng cho phù hợp. Ví dụ:
• Cá biết bơi, Chim biết bay,...
• tuy nhiên cũng có thể phân lớp theo cách khác như Động Vật
Nước Ngọt, Động Vật Nước Mặn (khi đó chim hay cá thì không
quan tâm nữa)

Phạm Minh Tuấn Khoa CNTT - Đại Học Bách Khoa


I T F
Thực thể (Instance)
Thực thể:
 Là một thể hiện của một lớp
Lớp Thực thể
Steve Jobs Ronaldinho Maria
Người

Khuôn làm bánh Bánh

Phạm Minh Tuấn Khoa CNTT - Đại Học Bách Khoa


I T F
Đối tượng (Object)
 Đối tượng:
 Là một trường hợp cụ thể mang các đặc điểm của
class và có thể thao tác.
 Là một tập hợp các biến với các kiểu dữ liệu đã được
cấp phát sử dụng và tùy vào hệ thống khác nhau mà
nó được tham chiếu và điều khiển một cách khác
nhau
 Thuật ngữ đối tượng (object) nhiều khi được dùng để
chỉ cả lớp (class) và những thể hiện (instance) của
lớp.

Phạm Minh Tuấn Khoa CNTT - Đại Học Bách Khoa


I T F
Phân biệt Class, Object và Instance
Thực sự có dễ phân biệt không?
 Trả lời: Lúc tôi còn là sinh viên như các bạn,
tôi không thể phân biệt nổi nó là gì. Và bây
giờ cũng không giám khẳng định 100% phân
biệt được!!

Hãy xem ví dụ sau để hiểu rõ hơn!!

Phạm Minh Tuấn Khoa CNTT - Đại Học Bách Khoa


I T F
Hãy trở thành thượng đế nhé
 Giả sử chúng ta là 1
vị thượng đế tạo ra
trái đất

Phạm Minh Tuấn Khoa CNTT - Đại Học Bách Khoa


I T F

 Hãy tưởng tượng ban


đầu trái đất hoàn toàn
không có bất kỳ một
sự sống, sự vật, sự
việc nào.
 Đầu tiên, các chúng
ta sẽ ban cho nó sự
vật, sự việc, mà
chúng ta muốn.

Phạm Minh Tuấn Khoa CNTT - Đại Học Bách Khoa


I T F
Đối tượng
 Đối tượng là:
 Tất cả các sự vật sự
việc trên trái đất:
• Cỏ cây, sông núi, sự
sống..

Đối tượng

Phạm Minh Tuấn Khoa CNTT - Đại Học Bách Khoa


I T F
Hãy tạo ra con người
 Chúng ta tạo ra Adam
 Tiếp theo chúng ta
tạo ra Eva
.
 Mệt quá!
 Tạo từng người như
vậy thì đến bao giờ??

 Cần 1 thiết kế để
chế tạo hàng loạt!!
Phạm Minh Tuấn Khoa CNTT - Đại Học Bách Khoa
I T F
Khái niệm về lớp (Class)
 Lớp là bản thiết kế
của đối tượng
 Ví dụ như bản thiết kế
của người gồm:
 Xương, Cơ
 Tóc, lông
 Mặt, mũi, miệng,..
 Hệ bài tiết
 Tay, chân,..
 Cách thức hoạt động,..

Phạm Minh Tuấn Khoa CNTT - Đại Học Bách Khoa


I T F
Vậy thực thể (Instance)?
 Là một thành phẩm
thực sự (thể hiện) từ
bãn vẽ (class)

Phạm Minh Tuấn Khoa CNTT - Đại Học Bách Khoa


I T F
Constructor
 Tiến trình tạo ra thực
thể được gọi là
“Constructor”
 Một Constructor:
 Cấp phát vùng nhớ
 Khởi gán những thuộc
tính (nếu có)
 Cho phép truy cập
những thuộc tính và
phương thức

Phạm Minh Tuấn Khoa CNTT - Đại Học Bách Khoa


I T F
Destructor
 Tiến trình hủy một
thực thể gọi là
Destructor

 Một Destructor:
 Giải phóng bộ nhớ
 Cấm truy cập thuộc
tính và phương
thức

Phạm Minh Tuấn Khoa CNTT - Đại Học Bách Khoa


I T F
Đặc tính lập trình hướng đối tượng
Tính bao bọc dữ liệu
Tính kế thừa
Tính đa hình

Phạm Minh Tuấn Khoa CNTT - Đại Học Bách Khoa


I T F
Tính bao bọc dữ liệu
 Tiến trình che dấu những
chi tiết hiện thực một đối
tượng được gọi là tính bao
bọc
 Ưu điểm:
 Tất cả những thuộc tính
và phương thức cần
thiết đều được tạo
 Một lớp có thể có nhiều
tính chất và phương
thức nhưng chỉ một số
trong đó được hiển thị
cho người dùng

Phạm Minh Tuấn Khoa CNTT - Đại Học Bách Khoa


I T F
Tính kế thừa
Là cơ chế cho phép một lớp chia sẻ
những thuộc tính và những hành động đã
định nghĩa trong một hoặc nhiều lớp
+Cơ thể đa bào
Animals +Có khả năng di chuyển
+Dị dưỡng

Insects Mammals Reptiles Amphibians

Phạm Minh Tuấn Khoa CNTT - Đại Học Bách Khoa


I T F
Tính kế thừa (tt)
Lớp cha
 Là lớp từ đó một lớp khác thừa kế các thuộc
tính và hành động của nó.
Lớp con
 Là lớp thừa kế từ lớp cha
Đa thừa kế
 Khi một lớp con thừa kế từ hai hoặc nhiều lớp

Phạm Minh Tuấn Khoa CNTT - Đại Học Bách Khoa


I T F
Tính đa hình
Các chức năng, hành động cùng tên có
thể thực hiện khác nhau trên các lớp hoặc
thực thể khác nhau.
Ngữ cảnh khác  kết quả khác

Point Line Circle Rectangle

Draw

Phạm Minh Tuấn Khoa CNTT - Đại Học Bách Khoa


I T F
Ưu điểm của hướng đối tượng
Dễ dàng quản lý code khi có sự thay đổi
chương trình.
Dễ mở rộng dự án.
Tiết kiệm được tài nguyên đáng kể cho hệ
thống.
Có tính bảo mật cao.
Có tính tái sử dụng cao.

Phạm Minh Tuấn Khoa CNTT - Đại Học Bách Khoa


I T F
Tổng kết
Phân biệt lớp, đối tượng, thực thể
Constructor và Destructor
Tính bao bọc, tính kế thừa và đa hình

Phạm Minh Tuấn Khoa CNTT - Đại Học Bách Khoa

You might also like