LẬP TRÌNH JAVA CƠ BẢN
Chương 1
GIỚI THIỆU NGÔN NGỮ
JAVA
GV: Võ Hoàng Phương Dung
Tài liệu tham khảo
Giáo trình “Lập trình Java cơ bản”
Giáo trình “Lập trình Java nâng cao”
Trần Tiến Dũng - Giáo trình lý thuyết và bài
tập Java - NXB Giáo dục, 1999
Thinking in Java (4th Edition), Bruce Eckel
/>
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à phong 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
Tổng quan
lập trình hướng đối tượng
6/25
Lập trình tuyến tí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
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
Exec utable File
Library Code
8/25
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
9/25
Nhược điểm của Lập trình 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
10/25
Lập trình hướng đối tượng (OOP)
Dựa trên ý tưởng
• Xem thế giới ta đang sống là tuyển tập 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
• Có sự tương tác giữa các đối tượng này bên trong ứng dụng để
thực hiện các yêu cầu, ví dụ như: bạn có một con chó, bạn gọi
điện thoại bằng ĐTDĐ của bạn, bạn nói chuyện với bạn cùng lớp
của bạn
Xem dữ liệu (các thuộc tính) và các chức năng/xử
lý (các phương thức) trên dữ liệu đó như một đối
tượng riêng. Một đối tượng đóng bao cả dữ liệu và
các phương thức
11/25
Lập trình hướng đối tượng (OOP)
Object1
Data1+Procedures1
Object2
Data2 + Procedures2
Object3
Data3 + Procedures3
Object4
Data4 + Procedures4
12/25
Lập trình hướng đối tượng (OOP)
Lập trình cấu trúc
Đối tượng
Hàm
Hàm
Hàm
Hướng đối tượng
Các thao tác
Dữ liệu
Đối tượng
Đối tượng
Các thao tác
Dữ liệu
Các thao tác
Dữ liệu
13/25
Lập trình hướng đối tượng (OOP)
Ví dụ:
Order
Product
Ship via
Lập trình hướng đối tượng (OOP)
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
=
Hoặc:
• Đối tượng =
+
Các phương thức
+
Trạng thái +
=
+
Hành vi
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
DOB
14/02/1964
JOB
LECTURER
BEHAVIOUR
Methods
CHANGE JOB
GET AGE
Lập trình hướng đối tượng (OOP)
Các thuộc tính
• Thành phần dữ liệu của một đối tượng
• Xác định các đặc trưng mô tả của một đối tượng
• Ví dụ: con chó của bạn có màu nâu, ĐTDĐ của bạn
thuộc hãng Nokia
Các phương thức
• Thành phần xử lý của một đối tượng
• Xác định các hành vi của một đối tượng
• Ví dụ: con chó đi, ĐTDĐ nhắn tin SMS
Lớp
Một khung mẫu (template, blueprint, prototype) để
tạo đối tượng
• Ví dụ: lớp “Chó” xác định các thuộc tính và các phương
thức của một con chó, nhưng lớp “Chó” không phải là
một đối tượng
Một đối tượng được tạo từ một lớp
• Là một minh họa của một lớp
• Ví dụ: bạn là một minh họa của lớp “SinhViên”, con chó
của bạn là một minh họa của lớp “Chó”
Lớp & Đối tượng
Các đối tượng của cùng một lớp
• Có cùng một tập các thuộc tính và các phương thức
Ví dụ: mỗi sinh viên có thuộc tính “MãSốSV”, mỗi con chó có
thuộc tính “Màu sắc”
• Có thể có các giá trị thuộc tính khác nhau
Ví dụ: các sinh viên khác nhau có thể có giá trị mã số sinh sinh
viên khác nhau, các con chó khác nhau có thể có màu sắc khác
nhau
Lớp & Đối tượng
Lớp & Đối tượng
Lớp & Đối tượng
object
Jodie
class
Daria
Jane
girl
Brittany
Lớp & Đối tượng
object
Jodie
class
Daria
Jane
girl
Brittany
Các đặc trưng cơ bản của LTHĐT
Trừu tượng (Abstraction)
Đóng gói (Encapsulation)
Thừa kế (Inheritance)
Đa hình (Polymophism)