Lập trình Java cơ bản - Chương 1: Giới thiệu ngôn ngữ Java

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

pdf62 trang | Chuyên mục: Java | Chia sẻ: dkS00TYs | Lượt xem: 2461 | Lượt tải: 3download
Tóm tắt nội dung Lập trình Java cơ bản - Chương 1: Giới thiệu ngôn ngữ Java, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
ain Program
Data
 COBOL
 FORTRAN 
 BASIC 
 Pascal 
 Ada 
 C 
8/25
Các ngôn ngữ lập trình cấp cao
Visual Basic 
 Delphi 
 C++
 C# 
 Java
Compiler Source File Machine-language 
File 
Linker Executable File 
Library Code 
9/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
10/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
11/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
12/25
Lập trình hướng đối tượng (OOP)
Object1
Data1+Procedures1
Object3
Data3 + Procedures3
Object2
Data2 + Procedures2 
Object4
Data4 + Procedures4
13/25
Hàm 
Hàm 
Hàm 
Các thao tác
Dữ liệu
Đối tượng
Các thao tác
Dữ liệu
Đối tượng
Các thao tác
Dữ liệu
Đối tượng
Lập trình cấu trúc Hướng đối tượng
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 + Các phương thức
 Hoặc:
• Đối tượng = Trạng thái + Hành vi
= +
+=
Lập trình hướng đối tượng (OOP)
I am an
object!
UNIQUE OBJECT IDENTIFIER (OID) 
NAME MARK
DOB 14/02/1964
JOB LECTURER
ATTRIBUTES
State
CHANGE JOB
GET AGE
BEHAVIOUR 
Methods
Hai phần của một đối tượng
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 trình hướng đối tượng (OOP)
 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
 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
Daria Jane BrittanyJodie
girlclassobject
Lớp & Đối tượng
Daria Jane BrittanyJodie
girlclassobject
Lớp & Đối tượng
 Trừu tượng (Abstraction)
 Đóng gói (Encapsulation)
 Thừa kế (Inheritance)
 Đa hình (Polymophism)
Các đặc trưng cơ bản của LTHĐT
 Trích những tính chất 
cần thiết của đối tượng 
và bỏ qua những tính 
chất không cần thiết
• Xác định một cách nhìn 
một đối tượng
 Ví dụ: xe hơi
• Người bán hàng quan tâm 
giá, thời gian bảo hành, 
màu sắc, …
• Người bảo hành quan tâm 
đến: kích thước đầu bơm 
xăng, kiểu bugi, ..
Sự trừu tượng
Sự trừu tượng
 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:
• Một thuộc tính/phương thức gắn liền với một đối tượng
• Khi đề cập đến một thuộc tính/phương thức, phải chỉ rõ 
thuộc tính/phương thức của đối tượng nào
• Tại sao đóng bao ?
 Khi có một đối tượng, cũng là có được các thành phần dữ liệu 
và hành vi của nó
 Rất tốt cho dùng lại
Sự đóng gói
G
E
T
 A
G
E
M
E
T
H
O
D
C
H
A
N
G
E
 JO
B
M
E
T
H
O
D
NAME: MARK
DOB: 14/02/64
JOB: LECTURER
GET AGE
CHANGE JOB
OBJECT
Sự đóng gói
Sự đóng gói
 Một đối tượng có thể che giấu các chi tiết bên trong của nó
• Ta không thể biết cách làm việc bên trong của ĐTDĐ của mình 
ngoài các chức năng trên bàn phím
 Có thể hiện một vài chi tiết nào đó ra thế giới bên ngoài
• Hiển thị số điện thoại của mình khi gọi tới máy khác
 Xác định một giao tiếp (interface) để tương tác với thế giới 
bên ngoài
• ĐTDĐ tương tác với bạn thông qua bàn phím và màn hình
Sự che dấu thông tin
 Một đối tượng có thể có bên 
trong nó phức tạp nhưng có
giao tiếp đơn giản
• Làm cho giao tiếp với thế giới 
bên ngoài dễ hơn
 Không cần biết bên trong của 
đối tượng
• Chỉ có giao tiếp mới là quan trọng
• Nghĩa là làm thế nào để tương tác 
với nó
 Thuận tiện cho việc dùng lại 
code
Manufacture A Manufacture B Manufacture C
Sự che dấu thông tin
• 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)
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ứa (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
• Viết các thành phần 
phần mềm chung, tổng quát 
(lớp cha/ lớp cơ sở), sau đó
mở rộng/ dẫn xuất ra các lớp 
con/ dẫn xuất cần thiết
Sự thừa kế
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 để đáp ứng với các đối tượng 
thuộc các lớp khác
Sự đa hình
Manufacturer A
Manufacturer B
Manufacturer C
Khả năng che giấu nhiều cài đặt khác nhau đằng sau một giao tiếp
Sự đa hình
Cổ phiếu Trái phiếu Qũi chung
Get Current Value
getCurrentValue()
getCurrentValue()
getCurrentValue()
Sự đa hình
38/25
Ư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
• Đẩy mạnh việc chia sẻ trong phạm vi một ứng dụng
• Đẩy mạnh sự sử dụng lại của các đối tượng khi cài đặt 
những ứng dụng mới
• Về lâu dài, 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ì
• Sửa đổi nhanh hơn
39/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 ...
Tổng quan về java
40/25
41/39
Tổng quan về Java
 James Gosling and Sun Microsystems
 Oak
 Java, May 20, 1995, Sun World
 Khắc phục một số hạn chế của C++
 JAVA là ngôn ngữ hướng đối tượng
 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
42/25
Tổng quan về Java
43/25
Các đặc điểm của ngôn ngữ Java
 Simple
 Object-oriented
 Distributed
 Interpreted
 Robust
 Secure
 Architecture-neutral
 Portable
 Performance
 Multithreaded
 Dynamic
 đơn giản
 hướng đối tượng
 phân tán
 thông dịch
 mạnh mẽ
 bảo mật
 kiến trúc trung tính
 khả chuyển
 hiệu quả cao
 đa tuyến
 linh động
44/39
Tổng quan về Java Các ứng dụng Java
 Ứng dụng Console: Ứng dụng nhập xuất ở chế độ văn bản 
tương tự màn hình Console của MS-DOS.
 Ứng dụng Applet: Ứng dụng có thể nhúng và chạy trong 
trang web của một trình duyệt web.
 Ứng dụng Desktop dùng giao diện đồ họa: Phát triển các 
ứng dụng đồ họa được giải quyết bằng thư viện AWT và
JFC.
 Ứng dụng Web: Java hỗ trợ mạnh mẽ đối với việc phát 
triển các ứng dụng Web thông qua công nghệ J2EE (Java 2 
Enterprise Edition).
 Ứng dụng nhúng: Java Sun đưa ra công nghệ J2ME hỗ trợ
phát triển các phần mềm nhúng.
 Java Standard Edition (J2SE)
• J2SE để phát triển các ứng dụng hay applet phía 
client
 Java Enterprise Edition (J2EE)
• J2EE để phát triển các ứng dụng phía server như 
Java servlets và Java ServerPages. 
 Java Micro Edition (J2ME). 
• J2ME để phát triển các ứng dụng cho mobile
45/25
Các phiên bản JDK
46/25
Dịch và thực thi chương trình Java
47/39
Dịch và thực thi chương trình Java
 Viết mã nguồn: Dùng một chương trình soạn 
thảo để viết mã nguồn, lưu lại với file tên có 
đuôi “.java”. Tên của file phải đặt giống tên của 
lớp chính trong chương trình.
 Biên dịch ra mã máy ảo: Dùng trình biên dịch 
javac để biên dịch mã nguồn “.java” thành mã 
của máy ảo (java bytecode) có đuôi “.class”
 Thông dịch và thực thi: Việc thông dịch và thực 
thi dùng lệnh “java”.
48/25
Dịch và thực thi chương trình Java
49/25
Dịch và thực thi chương trình Java
Cài đặt 
 Tải Java tại website 
.html
 Cài đặt JDK hoặc JRE
 Thiết lập biến môi trường
50/25
Chương trình “Hello Java”
 Viết mã nguồn bằng Notepad
class HelloWorldApp { 
public static void main(String[] args) 
{ 
System.out.println("Hello World!"); 
// Display the string. 
} 
}
51/25
 Lưu chương trình với đuôi .java
52/25
Chương trình “Hello Java”
 Biên dịch chương trình
javac HelloWorldApp.java
53/25
Chương trình “Hello Java”
 Chạy chương trình
54/25
Chương trình “Hello Java”
Giới thiệu Eclipse
 Tải Eclipse tại trang 
 Chọn Eclipse IDE for Java Developers
 Giải nén và chạy file eclipse.exe
55/25
 Giao diện ban đầu
56/25
Giới thiệu Eclipse
 Màn hình welcome
57/25
Giới thiệu Eclipse
 Tạo 1 project
58/25
Giới thiệu Eclipse
 Chọn Java Project, rồi next
59/25
Giới thiệu Eclipse
 Nhập tên Project
60/25
Giới thiệu Eclipse
 Tạo class
61/25
Giới thiệu Eclipse
 Đặt tên class
62/25
Giới thiệu Eclipse

File đính kèm:

  • pdfLập trình Java cơ bản - Chương 1_Giới thiệu ngôn ngữ Java.pdf
Tài liệu liên quan