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

26 761 3
Lập trình hướng đối tượng lớp và đối tượng

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

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

09/18/1209/18/12 21:2221:22Lập trình hướng đối tượngLập trình hướng đối tượngHà Văn SangKhoa HTTT,Academy Of Finance, HanoiHà Văn SangBộ môn: Tin học TC – KTKhoa: Hệ Thống Thông Tin Kinh tế - Học Viện Tài ChínhTel: 0982.165.568Email: sanghv@hvtc.edu.vnWebsite: http://www.hvtc.edu.vn/sanghvLập trình hướng đối tượng 09/18/1209/18/12 21:2221:22Lập trình hướng đối tượngLập trình hướng đối tượngHà Văn SangKhoa HTTT,Academy Of Finance, HanoiCHƯƠNG IV Object Oriented Programing– Information Systems Department31. Khái niệm1. Khái niệmKế thừa: là khả năng cho phép xây dựng một lớp mớiĐược thừa hưởng các thành phần từ một hay nhiều lớp đã có (lớp cơ sở).Trong lớp ta có thể bổ sung thêm các thành phần hoặc định nghĩa lại các thành phầnVí dụ 1:Xây dựng lớp PS1 {ts, ms, nhập, in, tối giản}Lớp PS2 {ts, ms, nhập, in, tối giản, cộng, trừ, nhân chia phân số} Object Oriented Programing– Information Systems Department41. Khái niệm (tiếp)1. Khái niệm (tiếp)Ví dụ 2: Yêu cầu xây dựng 3 lớpLớp NGƯỜI  Lớp SV Lớp GVNGƯỜIDl: ht, ns, gtPt: nhap(), in()SVDl: ht, ns, gtPt: nhap(), in(), xếp loại()GVDl: ht, ns, gtPt: nhap(), in(), tangluong() Object Oriented Programing– Information Systems Department51. Khái niệm (tiếp)1. Khái niệm (tiếp)Kế thừa tạo ra mô hình phân cấp:PS1PS2NGƯỜISV GVMô hình kế thừa tạo ra một quan hệ “is a”Ví dụ: một đối tượng SV “là một” loại thuộc lớp NGƯỜI Object Oriented Programing– Information Systems Department61. Khái niệm (tiếp)1. Khái niệm (tiếp)Các loại kế thừa:PS1PS2CA BKế thừa đơn: chỉ có một lớp cơ sởĐa kế thừa: có nhiều hơn một lớp cơ sở Object Oriented Programing– Information Systems Department72. Xây dựng lớp dẫn xuất2. Xây dựng lớp dẫn xuấtCú phápclass <tên lớp con>:[kiểu dẫn xuất]<tên lớp cha1>,[kiểu dẫn xuất]<tên lớp cha 2>… {// Các thành phần của lớp con}; Object Oriented Programing– Information Systems Department82. Xây dựng lớp dẫn xuất2. Xây dựng lớp dẫn xuấtTrong đó:Kiểu dẫn xuất có thể là:publicpublic: tất cả các tp public của lớp cha sẽ là pubic ở lớp conprivate: tất cả các thành phần public của lớp cha sẽ là private ở lớp conprotectedprivate (ngầm định) Object Oriented Programing– Information Systems Department93. Quyền truy xuất3. Quyền truy xuất(1) Quyền truy xuất tp đó ở lớp cha :(2) Kiểu dẫn xuấtprivate protected publicprivate private private privateprotected private protected protectedpublic private protected public(1)(2)Quyền truy xuất ở lớp con Object Oriented Programing– Information Systems Department10Chú ýChú ýVí dụ: Phân sốChú ý:Có thể gán 1 đối tượng của lớp con vào một đối tượng của lớp chaPS a; PS1 b;a=b;// okb=a; // problemKhi gán, các tp thừa (ko có trong lớp cha) sẽ bị cắt tỉa chuyển đổi kiểu lên an toànbị cắt lấp đầy [...]... thể gán 1 đối tượng của lớp con vào một đối tượng của lớp cha PS a; PS1 b; a=b;// ok b=a; // problem Khi gán, các tp thừa (ko có trong lớp cha) sẽ bị cắt tỉa chuyển đổi kiểu lên an toàn bị cắt lấp đầy Object Oriented Programing– Information Systems Department 14 Ví dụ: Ví dụ: 2. Xây dựng lớp thí sinh TS Gồm: SBD, ngay sinh, khu vực Phương thức: nhập, in  Xây dựng lớp TSA kế thừa lớp TS Bổ sung:... đồng.  Như vậy hệ thống có hai đối tượng:  biên chế hợp đồng.  Hai loại đối tượng này có đặc tính chung là viên chức làm việc cho cơ quan. Từ đây có thể tạo nên lớp cơ sở để quản lý một viên chức (lớp Nguoi) bao gồm mã số, họ tên, lương.  - Hai lớp kế thừa từ lớp cơ sở trên:  + Lớp Bienche gồm các thuộc tính: hệ số lương, tiền phụ cấp chức vụ.  + Lớp Hopdong gồm các thuộc tính: tiền... hệ số vượt giờ.  Hãy thiết kế các lớp trên viết chương trình minh họa. Object Oriented Programing– Information Systems Department 8 2. Xây dựng lớp dẫn xuất 2. Xây dựng lớp dẫn xuất Trong đó:  Kiểu dẫn xuất có thể là: public  public: tất cả các tp public của lớp cha sẽ là pubic ở lớp con  private: tất cả các thành phần public của lớp cha sẽ là private ở lớp con protected private (ngầm định) ... Department 7 2. Xây dựng lớp dẫn xuất 2. Xây dựng lớp dẫn xuất Cú pháp class <tên lớp con>:[kiểu dẫn xuất]<tên lớp cha1> ,[kiểu dẫn xuất]<tên lớp cha 2> … { // Các thành phần của lớp con }; Object Oriented Programing– Information Systems Department 6 1. Khái niệm (tiếp) 1. Khái niệm (tiếp) Các loại kế thừa: PS1 PS2 C A B Kế thừa đơn: chỉ có một lớp cơ sở Đa kế thừa: có nhiều hơn một lớp cơ sở ... khối  Xây dựng lớp TSC kế thừa lớp TS Bổ sung: điểm văn, sử, địa, nhập, in Object Oriented Programing– Information Systems Department 3 1. Khái niệm 1. Khái niệm Kế thừa: là khả năng cho phép xây dựng một lớp mới Được thừa hưởng các thành phần từ một hay nhiều lớp đã có (lớp cơ sở). Trong lớp ta có thể bổ sung thêm các thành phần hoặc định nghĩa lại các thành phần Ví dụ 1: Xây dựng lớp PS1 {ts, ms,... Systems Department 17 5. Hàm khởi tạo hàm huỷ 5. Hàm khởi tạo hàm huỷ b. Hàm huỷ Hàm huỷ của lớp cơ sở không được kế thừa Các hàm huỷ được thi hành theo trình tự ngược lại so với hàm khởi tạo Hàm huỷ của lớp dẫn xuất thi hành trước hàm huỷ của lớp cơ sở Object Oriented Programing– Information Systems Department 22 Bài tập (week 6) Bài tập (week 6) Bài 1:  Cài đặt lớp PS1 gồm có:  Dữ liệu: tử số,... cấp: PS1 PS2 NGƯỜI SV GV Mơ hình kế thừa tạo ra một quan hệ “is a” Ví dụ: một đối tượng SV “là một” loại thuộc lớp NGƯỜI Object Oriented Programing– Information Systems Department 24 Bài tập (week 6) Bài tập (week 6) Bài 3:  Cài đặt lớp NGUOI gồm có:  Dữ liệu: họ tên, ngày sinh, địa chỉ  Phương thức: nhập,in một người  Cài đặt lớp NV kế thừa NGUOI bổ sung:  Dữ liệu: phòng ban, hệ số lương, phụ cấp  Phương... <<, phép -, *, /, phép so sánh: ==, !=, >, >=, <, <=, ++,  Chương trình chính: nhập 2 sp, thơng báo kết quả so sánh, các phép tính a+b, a-b, a*b, a/c Object Oriented Programing– Information Systems Department 4 1. Khái niệm (tiếp) 1. Khái niệm (tiếp) Ví dụ 2: Yêu cầu xây dựng 3 lớp  Lớp NGƯỜI  Lớp SV  Lớp GV NGƯỜI Dl: ht, ns, gt Pt: nhap(), in() SV Dl: ht, ns, gt Pt: nhap(), in(),... lớp PS1 {ts, ms, nhập, in, tối giản} Lớp PS2 {ts, ms, nhập, in, tối giản, cộng, trừ, nhân chia phân số} Object Oriented Programing– Information Systems Department 23 Bài tập (week 6) Bài tập (week 6) Bài 2:  Cài đặt lớp SP1 gồm có:  Dữ liệu: phần thực, phần ảo  Phương thức: nhập,in  Chương trình chính: nhập 2 sp ab, in ra a, b  Cài đặt lớp SP2 kế thừa SP1 bổ sung:  Dữ liệu:  Phương thức:... 1 tp thì mọi tp cùng tên cũng bị tác động  Chỉ có thể định lại quyền truy xuất theo đúng quyền của tp đó trong lớp cha  Nếu trong lớp cơ sở có nhiều tp cùng tên nhưng khác quyền truy xuất thì khơng thể định nghĩa lại  Nếu lớp con có một tp cùng tên thì tp của lớp con sẽ che phủ tp lớp cha  Muốn truy xuất phải viết tường minh . http://www.hvtc.edu.vn/sanghvLập trình hướng đối tượng 09/18/1209/18/12 21:2221:2 2Lập trình hướng đối tượngLập trình hướng đối tượngHà Văn SangKhoa HTTT,Academy. 09/18/1209/18/12 21:2221:2 2Lập trình hướng đối tượngLập trình hướng đối tượngHà Văn SangKhoa HTTT,Academy Of Finance, HanoiHà

Ngày đăng: 21/08/2012, 14:20

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan