Lập trình hướng đối tượng Đối tượng và lớp
Viết chương trình nhập dữ liệu sinh viên, theo lớp đã định nghĩa, từ bàn phím In thông tin sinh viên ra màn hình, bao gồm cả mức học bổng
Bạn đang xem trước 20 trang tài liệu Lập trình hướng đối tượng Đối tượng và lớp, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Lập trình hướng đối tượng
Đối tượng và lớp
Giảng viên: TS. Nguyễn Mạnh Hùng
Học viện Công nghệ Bưu chính Viễn thông (PTIT)
2Nội dung
Đối tượng
Trừu tượng hóa đối tượng thành lớp
Khai báo lớp trong Java
Khai báo và sử dụng đối tượng
Bài tập
Đối tượng và lớp
4Đối tượng (1)
Một chiếc 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 hơi
5Đối tượng (2)
Một chiếc 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 hơ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 hơi
6Trừu tượng hóa đối tượng (1)
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 hơi
Tên chung: Xe hơi
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 chung:
Chạy theo hướng xác định
Dừng lại
7Trừu tượng hóa đối tượng (2)
Tên chung: Xe hơi
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 chung:
Chạy theo hướng xác định
Dừng lại
Tên: Xe hơi
Các thuộc tính:
Hãng sản xuất:
Màu xe:
Dung tích xilanh:
Giá :
Các hành động:
Chạy theo hướng xác định
Dừng lại
8Bài tập
Trừu tượng hóa các đối tượng để thành lớp:
Người
Sinh viên
Môn học
Khai báo lớp trong Java
10
Khai báo lớp
public class Car{
...
}
Khai báo phạm vi
Từ khóa cho
khai báo lớp
Khai báo tên lớp
11
Khai báo thuộc tính cho lớp
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
}
12
Hàm khởi tạo
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
public Car(){
productor = "";
color = "";
capacity = 0.0;
price = 0;
}
}
13
Nạp chồng hàm khởi tạo
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
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;
}
}
14
Biến this
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
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;
}
}
15
Phương thức của lớp
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
public void setProductor(String productor){
this.productor = productor;
}
public String getProductor(){
return productor;
}
}
16
Đóng gói dữ liệu
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
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 dữ liệu
Chỉ cho truy nhập
gián tiếp qua phương
thức
17
Bài tập
Định nghĩa lớp sinh viên với các thuộc tính:
mã sinh viên
Họ và 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
của sinh viên
Khai báo và sử dụng đối tượng
19
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 quả là gì?
20
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);
}
}
21
Lệnh nào 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"));
}
}
22
Bài tập
Viết chương trình nhập dữ liệu sinh viên,
theo lớp đã định nghĩa, từ bàn phím
In thông tin sinh viên ra màn hình, bao gồm
cả mức học bổng
Questions?
Các file đính kèm theo tài liệu này:
- b04_lthdt_doi_tuong_va_lop_3199.pdf