Bài giảng Lập trình hướng đối tượng - Bài 6: Mảng các đối tượng - TS. Nguyễn Mạnh Hùng

pdf 18 trang phuongnguyen 1940
Bạn đang xem tài liệu "Bài giảng Lập trình hướng đối tượng - Bài 6: Mảng các đối tượng - TS. Nguyễn Mạnh Hùng", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfbai_giang_lap_trinh_huong_doi_tuong_bai_6_mang_cac_doi_tuong.pdf

Nội dung text: Bài giảng Lập trình hướng đối tượng - Bài 6: Mảng các đối tượng - TS. Nguyễn Mạnh Hùng

  1. 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)
  2. 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
  3. Mảng các đối tượng
  4. Khai báo lớp (1) public class Human{ // lớp người private String name; // tên private String birthday; // ngày sinh private int gende; // 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
  5. Khai báo lớp (2) public class Human{ // lớp người private String name; // tên private String birthday; // ngày sinh private int gende; // 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
  6. Khai báo lớp (3) public class Human{ // lớp người private String name; // tên private String birthday; // ngày sinh private int gende; // 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
  7. 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; i java Test Kết quả là gì? 7
  8. 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
  9. Liên kết giữa các đối tượng
  10. 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
  11. Ví dụ (2) Sinh viên: Môn học: Tên Tên Ngày sinh Hệ số Giới tính Phòng học Chức năng: Chức năng: get/set tên get/set tên get/set ngày sinh get/set hệ số get/set giới tính get/set phòng học Show thông tin cá nhân 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
  12. Ví dụ (3) 12
  13. Lớp Student public class Student{ // lớp sinh viên private String name; // tên private String birthday; // ngày sinh private int gende; // 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
  14. Lớp Subject public class Subject{ // lớp môn học private String name; // tên private String room; // phòng học private int coefficient; // 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
  15. Lớp Note public class Note{ // lớp điểm private Student student; // sinh viên private Subject subject; // môn học private int note; // đ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
  16. 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
  17. 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
  18. Questions?