Bài giảng Lập trình Java (Java Programming) - Chương 2: Lập trình HĐT với Java

Bài giảng Lập trình Java (Java Programming) - Chương 2: Lập trình HĐT với Java

Nội dung

1 Object oriented programming

2 Class & Object

3 Interface

4 Collection & Map

pdf 25 trang phuongnguyen 7720
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Lập trình Java (Java Programming) - Chương 2: Lập trình HĐT với Java", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Bài giảng Lập trình Java (Java Programming) - Chương 2: Lập trình HĐT với Java

Bài giảng Lập trình Java (Java Programming) - Chương 2: Lập trình HĐT với Java
Chương 2: LẬP TRÌNH HĐT VỚI JAVA
Khoa CNTT
ĐH GTVT TP.HCM
Khoa CNTT (ĐH GTVT TP.HCM) Java Programming 1 / 25
Nội dung
1 Object oriented programming
2 Class & Object
3 Interface
4 Collection & Map
Khoa CNTT (ĐH GTVT TP.HCM) Java Programming 2 / 25
Object Oriented Programming (1)
Thế nào là OOP?
* Thực chất lập trình là mô tả thế giới thực bằng ngôn ngữ của máy tính.
* Thế giới thực bao gồm các sự vật, hiện tượng và sự tương tác giữa chúng.
* Lập trình OOP hướng đến việc xây dựng phần mềm có mô hình như thế giới
thực.
* Bắt đầu từ việc xem xét các thành phần của một phần mềm như là các đối
tượng (objects)
* Và cho phép chúng (objects) tương tác với nhau để giải quyết bài toán
Khoa CNTT (ĐH GTVT TP.HCM) Java Programming 3 / 25
Object Oriented Programming (2)
Ví dụ OOP mô tả thế giới thực:
Khoa CNTT (ĐH GTVT TP.HCM) Java Programming 4 / 25
Object Oriented Programming (3)
Các đặc điểm của OOP (1):
* Tính trừu tượng (Abstraction):
1 Quốc Tuấn là một Giảng viên
2 Thành Nam là một Sinh viên
3 Lập trình Java là một Học phần
* Tính đóng gói (Encapsulation) & Che dấu dữ liệu (Data hiding)
1 Thông tin sinh viên gồm: Mã, Họ tên, Ngày sinh, ...
2 Thông tin học phần gồm: Mã HP, Tên HP, Số tiết, ...
3 Sinh viên không nên biết hệ số lương của Giảng viên
Khoa CNTT (ĐH GTVT TP.HCM) Java Programming 5 / 25
Object Oriented Programming (4)
Các đặc điểm của OOP (2):
* Tính thừa kế (Inheritance)
1 Giảng viên & Sinh viên đều là Người
2 Máy tính là một loại Thiết bị
* Tính đa hình (Polymorphism)
1 Giảng viên & Sinh viên đều Làm việc
2 Nhưng công việc của GV là Dạy, trong khi với sinh viên là Học
Khoa CNTT (ĐH GTVT TP.HCM) Java Programming 6 / 25
Object & Class (1)
Object là gì? (1)
Khoa CNTT (ĐH GTVT TP.HCM) Java Programming 7 / 25
Object & Class (2)
Ojbject là gì? (2)
Object = Methods + Fields
Khoa CNTT (ĐH GTVT TP.HCM) Java Programming 8 / 25
Object & Class (3)
Class là khuôn mẫu để tạo ra các Objects
Khoa CNTT (ĐH GTVT TP.HCM) Java Programming 9 / 25
Object & Class (4)
Các vấn đề liên quan đến class & interface:
1 Xây dựng class như thế nào?
2 Tạo object và khởi tạo các giá trị cho các thành phần dữ liệu.
3 Truy xuất đến thành phần của một object.
4 Phạm vi truy xuất của các thành phần trong class
5 Thành phần chung (static) cho tất cả các object của cùng một class.
6 Mối quan hệ giữa các class & các interface (thừa kế và đa hình)
Khoa CNTT (ĐH GTVT TP.HCM) Java Programming 10 / 25
Object & Class (5)
Tạo class như thế nào?
public class HangHoa implements Serializable {
public int maHH;
public int soLuong;
public double donGia;
public String tenHH;
public HangHoa() { /*initialization*/}
@Override
public String toString() {
return String.format("%d, %s, %f", maHH, tenHH, donGia);
}
static public ArrayList dsHangHoa() {
ArrayList lst = new ArrayList();
//add elements to lst
return lst;
}
}
Khoa CNTT (ĐH GTVT TP.HCM) Java Programming 11 / 25
Interface
Interface là gì?
* An interface in java is a blueprint of a class. It has static
constants and abstract methods only.
* There can be only abstract methods in the java interface not
method body. It is used to achieve fully abstraction and multiple
inheritance in Java.
Khoa CNTT (ĐH GTVT TP.HCM) Java Programming 12 / 25
Interface
Tạo interface như thế nào?
public interface IGioHang {
double tinhTongTien();
HangHoa tim(int maHH);
void them(HangHoa h, int soLuong);
void hienThi();
int tinhTongHang();
int soMatHang();
void xoa(int maHH);
}
Khoa CNTT (ĐH GTVT TP.HCM) Java Programming 13 / 25
Interface
Multiple inheritance in Java by interface
Khoa CNTT (ĐH GTVT TP.HCM) Java Programming 14 / 25
Collection in Java
Hierarchy
Khoa CNTT (ĐH GTVT TP.HCM) Java Programming 15 / 25
Collection in Java
List
public static void listDemo() {
List lst = new ArrayList();
lst.add("collection");
lst.add("in");
lst.add("java");
for (Iterator i = lst.iterator();
i.hasNext();) {
System.out.println(i.next());
}
System.out.println(lst.indexOf("java"));
}
Khoa CNTT (ĐH GTVT TP.HCM) Java Programming 16 / 25
Collection in Java
Stack
public static void stackDemo() {
Stack st = new Stack();
st.push("collection");
st.push("in");
st.push("java");
Iterator i = st.iterator();
while (i.hasNext()) {
System.out.println(i.next());
}
}
Khoa CNTT (ĐH GTVT TP.HCM) Java Programming 17 / 25
Collection in Java
Set
public static void setDemo(){
Set s = new HashSet();
s.add("GTVT");
s.add("KHTN");
s.add("HUTECH");
for(Iterator i = s.iterator();i.hasNext();){
System.out.println(i.next());
}
}
Khoa CNTT (ĐH GTVT TP.HCM) Java Programming 18 / 25
Map in Java
Hierarchy
Khoa CNTT (ĐH GTVT TP.HCM) Java Programming 19 / 25
Map in Java
Map
public static void mapDemo() {
Map m = new Hashtable();
m.put(1, "tivi");
m.put(2, "laptop");
m.put(3, "iphone");
for (Object i : m.keySet()) {
System.out.println(m.get(i));
}
}
Khoa CNTT (ĐH GTVT TP.HCM) Java Programming 20 / 25
Xử lý sự kiện trong Java
Mô hình truyền sự kiện
Khoa CNTT (ĐH GTVT TP.HCM) Java Programming 21 / 25
Xử lý sự kiện trong Java
Các thành phần trong mô hình xử lý sự kiện
* Generator / Publisher: đối tượng phát sự kiện.
Ví dụ: rạp Galaxy phát sự kiện "có phim mới"
* Listener / Subscriber: đối tượng lắng nghe / đăng ký sự kiện.
Ví dụ: sinh viên Tuấn thường xuyên theo dõi thông báo về phim mới trên
website của Galaxy
* Event: thông tin sự kiện được truyền từ Generator → Listener
Ví dụ: thông tin về bộ phim, diễn viên chính, xuất chiếu, giá vé, ...
Khoa CNTT (ĐH GTVT TP.HCM) Java Programming 22 / 25
Xử lý sự kiện trong Java
Generator
public interface Generator {
void addListener(Listener listener);
void removeListener(Listener listener);
}
Khoa CNTT (ĐH GTVT TP.HCM) Java Programming 23 / 25
Xử lý sự kiện trong Java
Listener
public interface Listener {
void receive(Generator from, Event event);
}
Event
public interface Event {
//anything you want.
}
Khoa CNTT (ĐH GTVT TP.HCM) Java Programming 24 / 25
—Hết—
Khoa CNTT (ĐH GTVT TP.HCM) Java Programming 25 / 25

File đính kèm:

  • pdfbai_giang_lap_trinh_java_java_programming_chuong_2_lap_trinh.pdf