Tải bản đầy đủ (.pdf) (18 trang)

Bài giảng lập trình hướng đối tượng mảng các đối tượng TS nguyễn mạnh hùng

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (308.54 KB, 18 trang )

Lập trình hướng đối tượng

Mảng các đối tượng
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)


Nội dung




Mảng các đối tượng
Quan hệ liên kết giữa các lớp
Bài tập

2


Mảng các đối tượng


Khai báo lớp (1)
public class Human{
private String name;
private String birthday;
private int gende;
}

//
//


//
//

lớp người
tên
ngày sinh
giới tính

// lớp sinh viên kế thừa từ lớp người
public class Student extends Human{
private float finalNote;
// điểm trung bình chung
}

4


Khai báo lớp (2)
public class Human{
private String name;
private String birthday;
private int gende;

//
//
//
//

lớp người
tên

ngày sinh
giới tính

public Human(String name, String birthday, int gende){
...
}
}
// lớp sinh viên kế thừa từ lớp người
public class Student extends Human{
private float finalNote;
// điểm trung bình
public Student(String name, String birthday, int gende, float
finalNote){
super(name, birthday, gende);
this.finalNote = finalNote;
}
}

5


Khai báo lớp (3)
public class Human{
private String name;
private String birthday;
private int gende;

//
//
//

//

lớp người
tên
ngày sinh
giới tính

public void show(){
System.out.println("name: " + name + " birthday: " +
birthday + " gende: " + gende);
}
}
// lớp sinh viên kế thừa từ lớp người
public class Student extends Human{
private float finalNote;
// điểm trung bình
public void show(){
System.out.println("name: " + getName() + " birthday: " +
getBirthday() + " gende: " + getGende() + " note: " + finalNote);
}
}

6


Mảng đối tượng
public class Test{
public static void main(String args[]){
// khai báo các đối tượng của lớp sinh viên
Student[] myStudents = new Student[10];

for(int i=0; imyStudents[i] = new Student("A", "1/1/2011", 1, 7.64);
...// do something more
myStudents[i].show();
}
}
}

Chạy chương trình:
>java Test
Kết quả là gì?

7


Bài tập




Định nghĩa mỗi ô trong trò sudoku như một
lớp đối tượng
Cả ô số là một mảng hai chiều các đối
tượng

8


Liên kết giữa các đối tượng



Ví dụ (1)
Bài toán quản lí điểm của sinh viên:

Mỗi sinh viên có thể học nhiều môn học

Mỗi môn học có thể có nhiều sinh viên

Mỗi sinh viên, với mỗi môn học, có điểm
của môn học đó
Làm thế nào thiết kế các lớp tương ứng?

10


Ví dụ (2)
Sinh viên:
Tên
Ngày sinh
Giới tính
Chức năng:
get/set tên
get/set ngày sinh
get/set giới tính
Show thông tin cá nhân

Môn học:
Tên
Hệ số
Phòng học

Chức năng:
get/set tên
get/set hệ số
get/set phòng học
Show thông tin môn học

Điểm:
Sinh viên
Môn học
Điểm
Chức năng:
get/set Sinh viên
get/set Môn học
get/set điểm

11


Ví dụ (3)

12


Lớp Student
public class Student{
private String name;
private String birthday;
private int gende;

//

//
//
//

lớp sinh viên
tên
ngày sinh
giới tính

// các phương thức khởi tạo
// các phương thức get/set
public void show(){
System.out.println("name: " + name + " birthday: " +
birthday + " gende: " + gende);
}
}

13


Lớp Subject
public class Subject{
private String name;
private String room;
private int coefficient;

//
//
//
//


lớp môn học
tên
phòng học
hệ số tín chỉ

// các phương thức khởi tạo
// các phương thức get/set
public void show(){
System.out.println("name: " + name + " room: " + room + "
coefficient: " + coefficient);
}
}

14


Lớp Note
public class Note{
private Student student;
private Subject subject;
private int note;

//
//
//
//

lớp điểm
sinh viên

môn học
điểm môn học

// các phương thức khởi tạo
// các phương thức get/set
}

15


Bài tập (1)






Viết các phương thức get/set cho các
thuộc tính student và subject
Viết chương trình nhập điểm cho 1 sinh
viên học 5 môn học
Viết chương trình nhập điểm cho một môn
học có 5 sinh viên

16


Bài tập (2)
Vẽ sơ đồ quan hệ và viết các thuộc tính của
lớp cho: Bài toán đặt phòng khách sạn


Mỗi khách sạn có nhiều phòng

Mỗi phòng có thể có nhiều khách hàng
khác nhau ở các thời điểm khác nhau

Mỗi khách hàng có thể ở nhiều phòng khác
nhau ở các thời điểm khác nhau

Mỗi khách hàng chỉ ở một phòng khách
sạn tại một thời điểm nhất định
17


Questions?



×