Lập trình truyền thống
Trong lập trình cấu trúc hay lập trình hướng thủ
tục
◦ Một bài toán được giải quyết bằng cách chia thành các bài toán nhỏ và
thực hiện thông qua các chương trình con.
◦ Chương trình = Cấu trúc dữ liệu + Thuật giải
Ví dụ: bài toán quản lý sinh viên, xây dựng cấu
trúc.
Lập trình truyền thống
Phương pháp lập trình này có một số
hạn chế như:
◦ Ngôn ngữ không phân chia rõ ràng giữa cấp
cài đặt và cấp sử dụng.
◦ Sự trộn lẫn khiến chương trình khó đọc, khó
sữa khi cấu trúc dữ liệu thay đỗi.
◦ Không có tính kế thừ
33 trang |
Chia sẻ: candy98 | Lượt xem: 543 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Bài giảng Lập trình Java - Chương 1: Tổng quan về lập trình hướng đối tượng - Lăng Uy Tín, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Lập Trình Java
Giảng Viên: Lăng Uy Tín
Nội dung môn học
Tổng quan về lập trình hướng đối tượng
(OOP)
Java cơ bản
Hướng đối tượng với Java
Ngoại lệ (Exception)
Các dòng nhập/xuất (I/O Stream)
Xử lý luồng (Threads)
Giao diện đồ họa (GUI)
Làm việc với cơ sở dữ liệu (JDBC)
Tài liệu tham khảo
Bài giảng Lập Trình Java.
Bất kỳ sách lập trình java nào trong nhà sách.
Java – Phương Lan – NXB Lao Động Xã Hội -
2004.
Java Lập Trình Mạng – Nguyễn Phương Lan,
Huỳnh Đức Hải – NXB Giáo Dục.
Giáo trình Lập Trình Mạng Bằng Java – NXB
Thống Kê - 2003.
Ebooks khác và Internet.
Lập trình truyền thống
Trong lập trình cấu trúc hay lập trình hướng thủ
tục
◦ Một bài toán được giải quyết bằng cách chia thành các bài toán nhỏ và
thực hiện thông qua các chương trình con.
◦ Chương trình = Cấu trúc dữ liệu + Thuật giải
Ví dụ: bài toán quản lý sinh viên, xây dựng cấu
trúc.
Lập trình truyền thống
Phương pháp lập trình này có một số
hạn chế như:
◦ Ngôn ngữ không phân chia rõ ràng giữa cấp
cài đặt và cấp sử dụng.
◦ Sự trộn lẫn khiến chương trình khó đọc, khó
sữa khi cấu trúc dữ liệu thay đỗi.
◦ Không có tính kế thừa
Lập trình hướng đối tượng (OOP)
là gì ?
Bản chất của máy tính là xử lý dữ liệu
◦ Vì vậy, sẽ hoàn toàn tự nhiên nếu chương trình
được thiết kế xoay quanh dữ liệu hơn là chức năng
chương trình.
◦ Dữ liệu và các thao tác trên dữ liệu (hành vi) được
liên kết với nhau đối tượng (object)
OOP là phương pháp lập trình lấy đối tượng làm
nền tảng để xây dựng thuật giải, xây dựng
chương trình.
◦ Dữ liệu + Hành vi = Đối tượng
Đây là phương pháp lập trình mới, cho đến thời
điểm hiện nay chưa có phương pháp lập trình
nào tốt hơn.
Các đặc điểm của OOP
Sự đóng gói (Encapsulation): là khả năng lưu
giữ riêng biệt dữ liệu và các phương thức
tác động lên dữ liệu.
Tính thừa kế (Inheritance): là khả năng xây
dựng các lớp mới (lớp dẫn xuất) dựa trên
lớp đã có (lớp cơ sở)
Tính đa hình (Polymorphism): là khả năng
cho phép gửi cùng một thông điệp đến các
đối tượng khác nhau có chung đặc điểm.
Thể hiện qua khái niệm hàm ảo hay
phương thức trừu tượng.
Lớp và đối tượng
Lớp (class) thực chất là một kiểu dữ liệu
được định nghĩa trong chương trình.
Lớp là khuôn mẫu của đối tượng và mô
tả cấu trúc bên trong của những đối
tượng này.
Đối tượng là gì ?
Đối tượng (object) là một thể hiện của
lớp, một thực thể đã được nạp vào bộ
nhớ.
Một cách trừu tượng xem đối tượng là
một “hộp đen”.
Bên trong đối tượng
◦ Các dữ liệu (fields)
◦ Các phương thức (code)
Một số ngôn ngữ hỗ trợ OOP
SmallTalk
Object Pascal
Visual Basic
Delphi
C/C++
Java
PHP
Giới thiệu về Java
Một ngôn ngữ lập trình bậc cao do Jame
Gosling và các cộng sự ở Sun
MicroSystem.
Độc lập với hệ điều hành và các hệ nền
khác nhau
◦ Máy ảo Java (JVM)
◦ Cung cấp một môi trường họat động an toàn:
chạy ở lớp trên của hệ điều hành
Ngôn ngữ Lập trình Hướng Đối tượng
(OOP)
◦ Trong Java, mọi thứ là lớp (Class)
Các đặc điểm của Java
Nhiều lớp đã được định nghĩa!
◦ Trong Java, trước khi bạn viết bất kỳ code nào, kiểm tra
xem chắc chắn rằng chưa có ai đã làm nó cho bạn!
Quản lý bộ nhớ động
◦ Dọn rác tự động, không có sự rò rỉ bộ nhớ!
◦ Không có con trỏ!
Kiểm soát lỗi được xây dựng trong ngôn ngữ (thông
qua các Ngoại lệ)
Đa luồng và đồng bộ hóa
Bảo mật: hệ thống miễn nhiễm virus nhờ kỹ thuật
xác minh mã hóa công khai bởi bộ thông dịch
Khả chuyển: “viết một lần chạy mọi nơi!!!”
Các loại ứng dụng Java
Desktop: Console, GUI
Web: Applet (client), JSP/Servlet (server)
Network: Socket
Distributed: RMI, Corba, EJB
Mobile: MIDlet
C++ vs Java
Sử dụng những con trỏ (Java không sử
dụng - lớp được truyền như tham chiếu)
Include file (Java sử dụng các gói)
Sử dụng những biến toàn cục (biến toàn
cục có thể dễ dàng được mô phỏng)
Nạp chồng toán tử (Java không sử dụng)
Templates (Java 5.0 mới có sự hỗ trợ cho
điều này)
Đa thừa kế (Java sử dụng các giao tiếp)
Các phương thức hủy bỏ (Java không có)
Môi trường của Java
Java
Source
(*.java)
Java Compiler
(javac)
Java
Object
(*.class)
Java Virtual Machine
Mã đối tượng được xác minh
và nạp vào máy ảo Java
Computer Operating System
Trình thông dịch kiểm soát tất cả các
truyền thông với OS của máy tính thực
Java Interpreter
(java)
Chương trình
được xử lý bởi
trình thông dịch
JVM và Bytecode
Java không được biên dịch thành ngôn
ngữ máy.
Chúng được biên dịch thành mã
bytecode.
Thông dịch bởi máy ảo Java (JVM)
JVM được cài đặt trên bất kỳ hệ điều
hành nào.
Chương trình Java
Như đã đề cập, trong Java mọi thứ đều là
lớp.
Mỗi lớp được chứa bên trong một tập
tin của nó.
Tên của mỗi tập tin cần phải đặt đúng
như tên của lớp mà nó chứa với phần
mở rộng *.Java
◦ Thí dụ, MyFirstProgram.java chứa lớp
MyFirstProgram
Ghi chú: quy ước tên này không phải là
một gợi ý, đó là một điều bắt buộc cho
Thí dụ một chương trình Java
Khai báo lớp
Các phần mềm cần cho cài đặt và
chạy Java
Những chương trình Java có thể được
biên dịch và chạy với một công cụ gọi là
Java SDK (Software Development Kit)
Nó có thể được tải miễn phí từ internet
x.jsp
Phiên bản hiện nay là JDK1.6.0
Cài đặt JDK 1.6.0
Đường dẫn mặc đinh (PATH)
Các công cụ chính của SDK
javac
◦ Trình biên dịch Java
◦ Phát sinh Java bytecode từ mã nguồn đã cho
java
◦ Trình thông dịch Java
◦ Chạy một chương trình Java từ bytecode đã
cho
jar
◦ Được sử dụng trong việc tạo ra tài liệu lưu
trữ Java (.jar)
◦ Có thể là một phương pháp tiện lợi để phân
Cách sử dụng trình biên dịch Java
Cú pháp: javac [Java filename]
◦ Truyền một số không hạn chế các file mã
nguồn Java (*.Java) trên đối số dòng lệnh.
◦ Javac sẽ lấy mỗi file và sinh ra một file *.class
cùng tên (file bytecode)
Thí dụ, MyFirstJavaClass.java sẽ sinh ra một file
bytecode là MyFirstJavaClass.class
Lệnh: javac *.Java
◦ Sẽ biên dịch và phát sinh các file bytecode
cho mỗi file *.Java trong thư mục làm việc
hiện hành.
Cách sử dụng trình biên dịch Java
Cách sử dụng trình thông dịch Java
Cú pháp: Java [classname]
◦ Chạy một chương trình Java với lớp được chỉ ra
trong đối số dòng lệnh.
Chú ý: không đưa tên file mà chỉ tên lớp. Điều này lý giải : tại
sao những quy ước đặt tên cho những tên file là rất quan
trọng.
◦ Trình phiên dịch sẽ tìm kiếm file bytecode có tên
[classname].class trong thư mục hiện hành hay những
thư mục được gán trong classpath.
Lớp cần chạy với trình thông dịch Java phải có
một phương thức với nguyên mẫu:
◦ public static void main()
◦ Đây là phương thức mặc định được tự động chạy
bởi trình thông dịch Java
Cách sử dụng trình thông dịch Java
Sử dụng classpath
Dùng để chỉ ra danh sách các thư mục,
giúp cho việc tìm kiếm các tập tin lớp đối
tượng
Nên xác lập CLASSPATH trong lúc thực
thi (runtime), vì như vậy nó sẽ xác lập
đường dẫn cho quá trình thực thi hiện
hành
Sử dụng classpath
Theo mặc định classpath được đặt là thư
mục làm việc hiện hành
Phụ thuộc vào phần mềm và hệ điều
hành sử dụng, có thể cho biết classpath
theo một số cách như sau:
◦ Có thể đặt classpath trực tiếp bởi sử dụng
dấu chuyển -classpath hay -cp từ dòng
lệnh:
Ví dụ: java –cp C:\simples MyFirstJavaClass
◦ Trong Windows, classpath có thể được sửa
đổi từ muc Environment Variables của
System trong Control Panel.
Sử dụng classpath
Công cụ phát triển – JCreator
Công cụ soạn thảo – EditPlus
Tóm tắt
Các phương pháp lập trình
Lập trình hướng đối tượng (OOP)
Giới thiệu về Java
Biên soạn và chạy một chương trình Java
Bai tap
Cai dat windows
download jdk
Cai dat jdk
Xem folder o dau
Tim cach chay file javac.exe
Tim cach chay file java.exe
Chay mot file java co ban nhat ma ban
biet.
Tim tai lieu java co ban tren mang (share
cac ban khac)