LẬP TRÌNH JAVA CƠ BẢN
Chương 1
GIỚI THIỆU NGÔN NGỮ
JAVA
Đoàn Thanh Sơn
Bộ môn: Lập trình máy tính
Tài liệu tham khảo
Thinking in Java (4th Edition), Bruce Eckel
/>
java_tutorial.pdf
2/25
Mục đích và yêu cầu
Nắm rõ các khái niệm về lập trình hướng đối tượng
Làm quen với các cú pháp và cách lập trình hướng đối
tượng với ngôn ngữ Java.
Tạo và biên dịch các chương trình Java như các chương
trình ứng dụng
3/25
Nội dung môn học
Giới thiệu về Java
Các thành phần cơ bản trong Java
Lập trình hướng đối tượng
Nhập xuất file & Ngoại lệ
Lập trình GUI
Kết nối cơ sở dữ liệu
4/25
Chương 1: Giới thiệu về Java
Tổng quan về lập trình hướng đối tượng (OOP)
Tổng quan về Java
Chương trình “Hello Java”
Giới thiệu Eclipse
5/25
11. Tổng quan
lập trình hướng đối tượng
6/25
111. Các phương pháp lập trình
Lập
trình bằng assembly
Main Program
Data
Assembly Source File
…
ADDF3 R1, R2, R3
…
Machine Code File
Assembler
…
1101101010011010
…
7/25
111. Các phương pháp lập trình
Lập
trình cấu trúc:
• Chương trình có cấu trúc được tổ chức theo các
công việc mà chúng thực hiện
• Chương trình chia nhỏ thành các chương trình
con riêng rẽ (còn gọi là hàm hay thủ tục )
Main Program
Data
Procedure1
Procedure2
Procedure3
8/25
111. Các phương pháp lập trình
Nhược điểm của LT cấu trúc:
•
•
•
•
Lặp lại code
Khó tìm và sửa lỗi
Khó cho làm việc theo nhóm
Thiếu sự che dấu thông tin
9/25
111. Các phương pháp lập trình
Các
ngôn ngữ lập
trình cấp cao
•
•
•
•
•
•
COBOL
FORTRAN
BASIC
Pascal
Ada
C
Source File
•
•
•
•
•
Compiler
Visual Basic
Delphi
C++
C#
Java
Machine-language
File
Linker
Executable File
Library Code
10/25
111. Các phương pháp lập trình
Lập trình hướng đối tượng (OOP)
• Dựa trên ý tưởng
Xem thế giới ta đang sống chứa các đối tượng, ví dụ như : bạn, những
người bạn cùng lớp với bạn, con chó của bạn, ĐTDĐ của bạn,…
Mỗi đối tượngcó những đặc điểm riêng: thuộc tính
Có sự tương tác giữa các đối tượng này qua các phương thức để các đối
tượng thay đổi.
11/25
112. Lập trình hướng đối tượng OOP
Object1
Data1+Procedures1
Object2
Data2 + Procedures2
Object3
Data3 + Procedures3
Object4
Data4 + Procedures4
12/25
112. Lập trình hướng đối tượng OOP
Hai phần của một đối tượng
• Đối tượng =
Dữ liệu
+
Các phương thức
Hoặc:
• Đối tượng =
Trạng thái +
Hành vi
112. Lập trình hướng đối tượng OOP
Hai phần của một đối tượng
UNIQUE OBJECT IDENTIFIER (OID)
I am an
object!
ATTRIBUTES
State
NAME MARK
salary 200
JOB
LECTURER
BEHAVIOUR
Methods
CHANGE JOB
GET job
112. Lập trình hướng đối tượng OOP
Lớp:
• Một khung mẫu (template, blueprint, prototype) để tạo
đối tượng cùng loại
Ví dụ: lớp “Chó” xác định các thuộc tính và các phương thức
mà một con chó cần có. Đó là bản mẫu của tất cả những con
chó cụ thể.
• Một đối tượng được tạo từ một lớp nhưng mỗi đối tượng
có các giá trị thuộc tính khác nhau
Ví dụ: bạn là một đối tượng của lớp “SinhViên” phân biệt với
các SV khác trong lớp chỗ nào?
112. Lập trình hướng đối tượng OOP
Lớp & Đối tượng
object
Jodie
class
Daria
Jane
girl
Brittany
113. Các đặc trưng của OOP
Đóng gói (Encapsulation)
Thừa kế (Inheritance)
Đa hình (Polymophism)
113. Các đặc trưng của OOP
Sự đóng gói
Một đối tượng đóng gói cả các thuộc tính và các phương thức
của nó
Các gắn liền:
• Giá trị thuộc tính /phương thức nằm trong một đối tượng
• Khi truy cập một thuộc tính/phương thức, phải được
phép và phải chỉ rõ thuộc tính/phương thức của đối tượng
nào
• Tăng tính bảo mật
Ví dụ: Sv1.ten, Sv1.dtb, Sv1.ktra()
113. Các đặc trưng của OOP
Sự thừa kế
•Sự
thừa kế các thuộc
tính, phương thức từ
các lớp Cơ sở
(base)/Cha (super) của
các lớp Dẫn xuất
(Derived)/ Con (sub)
113. Các đặc trưng của OOP
Sự thừa kế
•Sự
thừa kế hình thành nên phân cấp các
lớp
•Sự
thừa kế mang đến:
• Chia sẻ các thuộc tính và phương
thức (tránh viết lại code)
• Mô hình hóa sự tổng quát hóa và
chuyên biệt hóa trong thế giới thực
Sự đa hình
Cùng một phương thức được sử dụng ở lớp cha/cơ sở có thể được định
nghĩa lại trong các lớp con/dẫn xuất để tạo tính đa dạng khi đáp ứng lại
các tác động bên ngoài.
Ưu điểm của Lập trình hướng đối tượng
• Tạo ra sự gần gũi giữa bài toán thực tế và việc cài đặt
chương trình
• Có thể chia sẻ, tái sử dụng nên giảm đáng kể chi phí khi
phát triển các ứng dụng mới
• Giảm lỗi và sự phức tạp trong bảo trì nên sửa đổi nhanh
hơn
22/25
Các ngôn ngữ OOP
Ngôn ngữ OOP đầu tiên là Smalltalk, do trung tâm nghiên
cứu Palo Alto (PARC) của hãng XEROR tập trung 10 năm
nghiên cứu để hoàn thiện từ tư tưởng của ngôn ngữ
SIMULA67
Sau đó các ngôn ngữ OOP lần lượt ra đời như Eiffel, Clos,
Loops, Flavors, Object Pascal, Object C, C++, Delphi, Java ...
23/25
12. Tổng quan về Java
24/25
Tổng quan về Java
JAVA là ngôn ngữ hướng đối tượng do Sun
Microsystems phát triển
JDK Versions
•
•
•
•
•
•
•
•
JDK 1.02 (1995)
JDK 1.1 (1996)
JDK 1.2 (1998)
JDK 1.3 (2000)
JDK 1.4 (2002)
JDK 1.5 (2004) a. k. a. JDK 5 or Java 5
JDK 1.6 (2006) a. k. a. JDK 6 or Java 6
JDK 1.7 (2011) a. k. a. JDK 7 or Java 7
25/39