Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 23 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
23
Dung lượng
338,63 KB
Nội dung
Lập trình hướng đối tượng Đối tượng lớp Giảng viên: TS Nguyễn Mạnh Hùng Học viện Công nghệ Bưu Viễn thơng (PTIT) Nội dung Đối tượng Trừu tượng hóa đối tượng thành lớp Khai báo lớp Java Khai báo sử dụng đối tượng Bài tập Đối tượng lớp Đối tượng (1) Một CIVIC: Hãng: HONDA Màu: bạc Dung tích xilanh: 2.4 Giá : 30 000$ Chạy theo hướng xác định Dừng lại Tự động báo động Kính chống đạn Túi Đối tượng (2) Một CIVIC: Hãng: HONDA Màu: bạc Dung tích xilanh: 2.4 Giá : 30 000$ Tự động báo động Chạy theo hướng xác định Dừng lại Kính chống đạn Túi Tên đối tượng: CIVIC Các đặc điểm: Hãng: HONDA Màu: bạc Dung tích xilanh: 2.4 Giá : 30 000$ Các tính năng: Tự động báo động Chạy theo hướng xác định Dừng lại Kính chống đạn Túi Trừu tượng hóa đối tượng (1) Tên đối tượng: CIVIC Tên chung: Xe Các đặc điểm: Hãng: HONDA Màu: bạc Dung tích xilanh: 2.4 Giá : 30 000$ Các đặc điểm chung: Hãng sản xuất: Màu xe: Dung tích xilanh: Giá : Các tính năng: Tự động báo động Chạy theo hướng xác định Dừng lại Kính chống đạn Túi Các tính chung: Chạy theo hướng xác định Dừng lại Trừu tượng hóa đối tượng (2) Tên chung: Xe Tên: Xe Các đặc điểm chung: Hãng sản xuất: Màu xe: Dung tích xilanh: Giá : Các thuộc tính: Hãng sản xuất: Màu xe: Dung tích xilanh: Giá : Các tính chung: Chạy theo hướng xác định Dừng lại Các hành động: Chạy theo hướng xác định Dừng lại Bài tập Trừu tượng hóa đối tượng để thành lớp: Người Sinh viên Môn học Khai báo lớp Java Khai báo lớp public class Car{ } Khai báo phạm vi Khai báo tên lớp Từ khóa cho khai báo lớp 10 Khai báo thuộc tính cho lớp public class Car{ private String productor; private String color; private float capacity; private int price; } // // // // // lớp xe ô tô tên nhà sản xuất màu xe dung tích xilanh giá xe 11 Hàm khởi tạo public class Car{ private String productor; private String color; private float capacity; private int price; // // // // // lớp xe ô tơ tên nhà sản xuất màu xe dung tích xilanh giá xe public Car(){ productor = ""; color = ""; capacity = 0.0; price = 0; } } 12 Nạp chồng hàm khởi tạo public class Car{ private String productor; private String color; private float capacity; private int price; // // // // // lớp xe ô tô tên nhà sản xuất màu xe dung tích xilanh giá xe public Car(){ productor = ""; color = ""; capacity = 0.0; price = 0; } public Car(String v1, String v2, float v3, int v4){ productor = v1; color = v2; capacity = v3; price = v4; } } 13 Biến this public class Car{ private String productor; private String color; private float capacity; private int price; // // // // // lớp xe ô tô tên nhà sản xuất màu xe dung tích xilanh giá xe public Car(){ productor = ""; color = ""; capacity = 0.0; price = 0; } public Car(String productor, String color, float capacity, int price){ this.productor = productor; this.color = color; this.capacity = capacity; this.price = price; } } 14 Phương thức lớp public class Car{ private String productor; private String color; private float capacity; private int price; // // // // // lớp xe ô tô tên nhà sản xuất màu xe dung tích xilanh giá xe public void setProductor(String productor){ this.productor = productor; } public String getProductor(){ return productor; } } 15 Đóng gói liệu public class Car{ private String productor; private String color; private float capacity; private int price; // // // // // lớp xe ô tô tên nhà sản xuất màu xe dung tích xilanh giá xe public void setProductor(String productor){ this.productor = productor; } public String getProductor(){ return productor; } } Không cho truy nhập trực tiếp vào liệu Chỉ cho truy nhập gián tiếp qua phương thức 16 Bài tập Định nghĩa lớp sinh viên với thuộc tính: mã sinh viên Họ tên Tuổi Điểm tổng kết Mức học bổng Viết phương thức xác định mức học bổng sinh viên 17 Khai báo sử dụng đối tượng Khai báo/khởi tạo đối tượng public class Test{ public static void main(String args[]){ Car myCar; // khai báo đối tượng // khởi tạo đối tượng myCar = new Car(); System.out.println(myCar.getProductor()); // khởi tạo lại đối tượng myCar = new Car("HONDA", "White", 2.4, 30000); System.out.println(myCar.getProductor()); } } Chạy chương trình: >java Test kết gì? 19 Biến static public class Car{ // lớp xe ô tô private String productor; // tên nhà sản xuất private String color; // màu xe private float capacity; // dung tích xilanh private int price; // giá xe static int sold; // số xe bán } public class Test{ public static void main(String args[]){ Car myCar, hisCar; System.out.println(Car.sold); hisCar = new Car(); hisCar.sold++; myCar = new Car("HONDA", "White", 2.4, 30000); myCar.sold++; System.out.println(Car.sold); } } 20 Lệnh lỗi? public class Test{ public static void main(String args[]){ 1: Car myCar, hisCar; 2: System.out.println(myCar.getProductor()); 3: myCar = new Car("HONDA", "White", 2.4, 30000); 4: System.out.println(myCar.productor); 5: hisCar = myCar; 6: System.out.println(hisCar.getProductor()); 7: System.out.println(myCar.setProductor("HONDA")); } } 21 Bài tập Viết chương trình nhập liệu sinh viên, theo lớp định nghĩa, từ bàn phím In thơng tin sinh viên hình, bao gồm mức học bổng 22 Questions? ...Nội dung Đối tượng Trừu tượng hóa đối tượng thành lớp Khai báo lớp Java Khai báo sử dụng đối tượng Bài tập Đối tượng lớp Đối tượng (1) Một CIVIC: Hãng: HONDA Màu:... Chạy theo hướng xác định Dừng lại Các hành động: Chạy theo hướng xác định Dừng lại Bài tập Trừu tượng hóa đối tượng để thành lớp: Người Sinh viên Môn học Khai báo lớp Java Khai báo lớp public... viên 17 Khai báo sử dụng đối tượng Khai báo/khởi tạo đối tượng public class Test{ public static void main(String args[]){ Car myCar; // khai báo đối tượng // khởi tạo đối tượng myCar = new Car();