![Phân tích tư tưởng của nhân dân qua đoạn thơ: Những người vợ nhớ chồng… Những cuộc đời đã hóa sông núi ta trong Đất nước của Nguyễn Khoa Điềm](https://timtailieu.net/upload/document/136415/phan-tich-tu-tuong-cua-nhan-dan-qua-doan-tho-039-039-nhung-nguoi-vo-nho-chong-nhung-cuoc-doi-da-hoa-song-nui-ta-039-039-trong-dat-nuoc-cua-nguyen-khoa-136415.jpg)
Bài giảng Lập trình hướng đối tượng: Chương 5 - ĐH Ngoại ngữ - Tin học
Số trang: 59
Loại file: pptx
Dung lượng: 263.77 KB
Lượt xem: 10
Lượt tải: 0
Xem trước 6 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Bài giảng "Lập trình hướng đối tượng - Chương 5: Thừa kế" cung cấp cho người học các kiến thức: Vấn đề tái sử dụng code & các hình thức, lý do thừa kế, lớp cơ sở, lớp dẫn xuất, sử dụng lớp cơ sở, constructor và thừa kế,... Mời các bạn cùng tham khảo nội dung chi tiết.
Nội dung trích xuất từ tài liệu:
Bài giảng Lập trình hướng đối tượng: Chương 5 - ĐH Ngoại ngữ - Tin họcClick to edit Master subtitle style CHƯƠNG 5: THỪA KẾ Khoa Công nghệ thông tin Trường Đại học Ngoại ngữ - Tin học, TP.HCM 1 NỘI DUNG• Vấn đề tái sử dụng code & các hình thức• Lý do thừa kế• Lớp cơ sở• Lớp dẫn xuất• Sử dụng lớp cơ sở• Constructor và thừa kế• Access modifier: protected• Lớp cơ sở của mọi lớp: Lớp object• Lớp sealed và lớp partial 2 Vấn đề tái sử dụng code• Xuất phát từ nhu cầu: – Sử dụng lại những đoạn code có sẵn – Hoặc phát triển thêm từ những code có sẵn mà không phải viết lại từ đầu Ưu điểm: – Giảm chi phí – Nâng cao khả năng bảo trì và khả năng mô hình hóa 3 Vấn đề tái sử dụng code• Lập trình cấu trúc: chương trình con• OOP: nhiều loại đối tượng có thuộc tính, hành vi tương tự nhau tái sử dụng các lớp đã viết• Trong một lớp vẫn tái sử dụng phương thức 4Các hình thức tái sử dụng codeCó 3 hình thức:• Sao chép lớp cũ thành 1 lớp khác Hạn chế: Dư thừa, khó quản lý khi có thayđổi• Kết tập (Aggregation): Lớp mới là tập hợp hoặc sử dụng (không thay đổi) các lớp đã có• Thừa kế (Inheritance): Lớp mới phát triển thêm các thuộc tính hoặc phương thức từ lớp đã có 5KẾT TẬP (aggregation) 6 Kết tập (Aggregation)• Thành phần lớp mới chứa các đối tượng của lớp cũ – Lớp mới: Lớp chứa/Lớp toàn thể Sử dụng các thuộc tính và phương thức của lớp thành phần thông qua đối tượng – Lớp cũ: Lớp thành phần• Ví dụ: – Lớp cũ: Điểm (Point) – Lớp mới: Tam giác (Triangle) có 3 điểm 7Ký hiệu quan hệ kết tập Số lượng lớp thành phần trong lớp chứa có thể: • 1 số nguyên dương (1, 2, 3, ...) • Dải số (0..1, 1..n) • Bất kỳ giá trị nào: * • Không ghi: mặc định là 1 8Ví dụ quan hệ kết tập public class Point { private int x; private int y; //Định nghĩa các phương thức } public class Triangle { Point dinhA; //Đỉnh A Point dinhB; //Đỉnh B Point dinhC; //Đỉnh C //Định nghĩa các phương thức } 9 Bài tập tại lớp• Cài đặt lớp Point và lớp Triangle có chức năng: – Nhập – Xuất – Tính chu vi – Tính diện tích (Mỗi lớp phải có: Property get, set; constructor; kiểm tra ràng buộc nếu có)• Cài đặt lớp ListTriangle chứa danh sách các Triangle có chức năng: nhập, xuất và cho biết thông tin tam giác có diện tích lớn 10 Bài tập ví dụXây dựng chương trình trò chơi xúc xắc vớicách chơi như sau:• Mỗi xúc xắc sẽ có giá trị ngẫu nhiên từ 1 đến 6• Quy định số lần gieo xúc xắc• Hai người lần lượt gieo 1 hạt xúc xắc• Sau mỗi lượt gieo, số điểm của lượt đó được tích lũy vào số điểm của người chơi tương ứng• Sau các lượt gieo theo quy định, người thắng cuộc là người có tổng số điểm lớn11Phát hiện lớp và thông tin của lớp• Xúc xắc (XucXac) – Thuộc tính: giá trị của mặt (giaTri) – Phương thức: sinh ngẫu nhiên giá trị mặt của xúc xắc (SinhGiaTri())• Người chơi (NguoiChoi) – Thuộc tính: tên (ten), điểm (diem) – Phương thức: gieo xúc xắc (GieoXucXac()) 12Phát hiện lớp và thông tin của lớp• Trận đấu (TranDau) – Thuộc tính: xúc xắc (xucXac), 2 người chơi (nguoiChoi), số vòng chơi (soVong), người thắng cuộc (nguoiThang) – Phương thức: bắt đầu (BatDau()), kết thúc (KetThuc), hiển thị thông tin (HienThi()), thực hiện trận đấu (ThucHienTranDau()) 13Sơ đồ lớp 14 public class XucXacprivate int giaTri;//Định nghĩa Constructor và Property get, set//tại đây …public void SinhGiaTri(){ Random random = new Random(); this.giaTri = random.Next(1, 7);} public class NguoiChoiprivate String ten;private int diem;//Định nghĩa constructor, property get, set//tại đây ...public void GieoXucXac(XucXac xucXac){ Console.Write(> Nhan Enter …); Console.ReadLine(); xucXac.SinhGiaTri(); this.diem += xucXac.GiaTri; //get giá trị xucXac Console.Write( - Diem hien tai = + this.diem);} public class TranDauprivate XucXac xucXac;private ...
Nội dung trích xuất từ tài liệu:
Bài giảng Lập trình hướng đối tượng: Chương 5 - ĐH Ngoại ngữ - Tin họcClick to edit Master subtitle style CHƯƠNG 5: THỪA KẾ Khoa Công nghệ thông tin Trường Đại học Ngoại ngữ - Tin học, TP.HCM 1 NỘI DUNG• Vấn đề tái sử dụng code & các hình thức• Lý do thừa kế• Lớp cơ sở• Lớp dẫn xuất• Sử dụng lớp cơ sở• Constructor và thừa kế• Access modifier: protected• Lớp cơ sở của mọi lớp: Lớp object• Lớp sealed và lớp partial 2 Vấn đề tái sử dụng code• Xuất phát từ nhu cầu: – Sử dụng lại những đoạn code có sẵn – Hoặc phát triển thêm từ những code có sẵn mà không phải viết lại từ đầu Ưu điểm: – Giảm chi phí – Nâng cao khả năng bảo trì và khả năng mô hình hóa 3 Vấn đề tái sử dụng code• Lập trình cấu trúc: chương trình con• OOP: nhiều loại đối tượng có thuộc tính, hành vi tương tự nhau tái sử dụng các lớp đã viết• Trong một lớp vẫn tái sử dụng phương thức 4Các hình thức tái sử dụng codeCó 3 hình thức:• Sao chép lớp cũ thành 1 lớp khác Hạn chế: Dư thừa, khó quản lý khi có thayđổi• Kết tập (Aggregation): Lớp mới là tập hợp hoặc sử dụng (không thay đổi) các lớp đã có• Thừa kế (Inheritance): Lớp mới phát triển thêm các thuộc tính hoặc phương thức từ lớp đã có 5KẾT TẬP (aggregation) 6 Kết tập (Aggregation)• Thành phần lớp mới chứa các đối tượng của lớp cũ – Lớp mới: Lớp chứa/Lớp toàn thể Sử dụng các thuộc tính và phương thức của lớp thành phần thông qua đối tượng – Lớp cũ: Lớp thành phần• Ví dụ: – Lớp cũ: Điểm (Point) – Lớp mới: Tam giác (Triangle) có 3 điểm 7Ký hiệu quan hệ kết tập Số lượng lớp thành phần trong lớp chứa có thể: • 1 số nguyên dương (1, 2, 3, ...) • Dải số (0..1, 1..n) • Bất kỳ giá trị nào: * • Không ghi: mặc định là 1 8Ví dụ quan hệ kết tập public class Point { private int x; private int y; //Định nghĩa các phương thức } public class Triangle { Point dinhA; //Đỉnh A Point dinhB; //Đỉnh B Point dinhC; //Đỉnh C //Định nghĩa các phương thức } 9 Bài tập tại lớp• Cài đặt lớp Point và lớp Triangle có chức năng: – Nhập – Xuất – Tính chu vi – Tính diện tích (Mỗi lớp phải có: Property get, set; constructor; kiểm tra ràng buộc nếu có)• Cài đặt lớp ListTriangle chứa danh sách các Triangle có chức năng: nhập, xuất và cho biết thông tin tam giác có diện tích lớn 10 Bài tập ví dụXây dựng chương trình trò chơi xúc xắc vớicách chơi như sau:• Mỗi xúc xắc sẽ có giá trị ngẫu nhiên từ 1 đến 6• Quy định số lần gieo xúc xắc• Hai người lần lượt gieo 1 hạt xúc xắc• Sau mỗi lượt gieo, số điểm của lượt đó được tích lũy vào số điểm của người chơi tương ứng• Sau các lượt gieo theo quy định, người thắng cuộc là người có tổng số điểm lớn11Phát hiện lớp và thông tin của lớp• Xúc xắc (XucXac) – Thuộc tính: giá trị của mặt (giaTri) – Phương thức: sinh ngẫu nhiên giá trị mặt của xúc xắc (SinhGiaTri())• Người chơi (NguoiChoi) – Thuộc tính: tên (ten), điểm (diem) – Phương thức: gieo xúc xắc (GieoXucXac()) 12Phát hiện lớp và thông tin của lớp• Trận đấu (TranDau) – Thuộc tính: xúc xắc (xucXac), 2 người chơi (nguoiChoi), số vòng chơi (soVong), người thắng cuộc (nguoiThang) – Phương thức: bắt đầu (BatDau()), kết thúc (KetThuc), hiển thị thông tin (HienThi()), thực hiện trận đấu (ThucHienTranDau()) 13Sơ đồ lớp 14 public class XucXacprivate int giaTri;//Định nghĩa Constructor và Property get, set//tại đây …public void SinhGiaTri(){ Random random = new Random(); this.giaTri = random.Next(1, 7);} public class NguoiChoiprivate String ten;private int diem;//Định nghĩa constructor, property get, set//tại đây ...public void GieoXucXac(XucXac xucXac){ Console.Write(> Nhan Enter …); Console.ReadLine(); xucXac.SinhGiaTri(); this.diem += xucXac.GiaTri; //get giá trị xucXac Console.Write( - Diem hien tai = + this.diem);} public class TranDauprivate XucXac xucXac;private ...
Tìm kiếm theo từ khóa liên quan:
Lập trình hướng đối tượng Bài giảng Lập trình hướng đối tượng Kỹ thuật lập trình Lý do thừa kế Lớp cơ sở Lớp dẫn xuất Sử dụng lớp cơ sởTài liệu liên quan:
-
Giáo trình Lập trình hướng đối tượng: Phần 2
154 trang 282 0 0 -
Kỹ thuật lập trình trên Visual Basic 2005
148 trang 279 0 0 -
NGÂN HÀNG CÂU HỎI TRẮC NGHIỆM THIẾT KẾ WEB
8 trang 223 0 0 -
101 trang 205 1 0
-
Giới thiệu môn học Ngôn ngữ lập trình C++
5 trang 205 0 0 -
Bài giảng Nhập môn về lập trình - Chương 1: Giới thiệu về máy tính và lập trình
30 trang 176 0 0 -
Luận văn: Nghiên cứu kỹ thuật giấu tin trong ảnh Gif
33 trang 156 0 0 -
14 trang 137 0 0
-
Giáo trình lập trình hướng đối tượng - Lê Thị Mỹ Hạnh ĐH Đà Nẵng
165 trang 122 0 0 -
Báo cáo thực tập Công nghệ thông tin: Lập trình game trên Unity
27 trang 122 0 0