Lập Trình Java

Giảng Viên: Lăng Uy Tín

Nội dung môn học

(OOP)

 Tổng quan về lập trình hướng đối tượng

 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

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

 Trong lập trình cấu trúc hay lập trình hướng thủ

trúc.

 Ví dụ: bài toán quản lý sinh viên, xây dựng cấu

Lập trình truyền thống

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

 Phương pháp lập trình này có một số

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

đượ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.

 Lớp (class) thực chất là một kiểu dữ liệu

Đố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 “hộp đen”.

 Một cách trừu tượng xem đối tượng là

 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

Gosling và các cộng sự ở Sun MicroSystem.

 Một ngôn ngữ lập trình bậc cao do Jame

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

 Độc lập với hệ điều hành và các hệ nền

(OOP) ◦ Trong Java, mọi thứ là lớp (Class)

 Ngôn ngữ Lập trình Hướng Đối tượng

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

dụng - lớp được truyền như tham chiếu)

 Sử dụng những con trỏ (Java không sử

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)

 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

 Đ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 Compiler (javac)

Java Object (*.class)

Java Source (*.java)

Mã đối tượng được xác minh và nạp vào máy ảo Java

Chương trình được xử lý bởi trình thông dịch

Java Virtual Machine Java Interpreter (java)

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

Computer Operating System

JVM và Bytecode

ngữ máy.

 Java không được biên dịch thành ngôn

bytecode.

 Chúng được biên dịch thành mã

hành nào.

 Thông dịch bởi máy ảo Java (JVM)  JVM được cài đặt trên bất kỳ hệ điều

Chương trình Java

lớp.

 Như đã đề cập, trong Java mọi thứ đều là

tin của nó.

 Mỗi lớp được chứa bên trong một tập

MyFirstProgram

 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

 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 http://java.sun.com/javase/downloads/inde 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

◦ Trình biên dịch Java ◦ Phát sinh Java bytecode từ mã nguồn đã cho

 javac

◦ Trình thông dịch Java ◦ Chạy một chương trình Java từ bytecode đã

cho

 java

◦ Đượ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

 jar

Cách sử dụng trình biên dịch Java

◦ 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

 Cú pháp: javac [Java filename]

◦ 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.

 Lệnh: javac *.Java

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

giúp cho việc tìm kiếm các tập tin lớp đối tượng

 Dùng để chỉ ra danh sách các thư mục,

 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

mục làm việc hiện hành

 Theo mặc định classpath được đặt là thư

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.

 Phụ thuộc vào phần mềm và hệ điều

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

biet.

 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

cac ban khac)

 Tim tai lieu java co ban tren mang (share