Bài giảng Cơ sở lập trình máy tính: Chương 4 - ThS. Nguyễn Thị Khiêm Hòa
lượt xem 5
download
Bài giảng Cơ sở lập trình máy tính Chương 4 Kế thừa – Đa hình nhằm trình bày về thiết kế đối tượng, kế thừa và đa hình, lợi thế của lập trình hướng đối tượng, định nghĩa và ví dụ về kế thừa, mối quan hệ tổng quát hóa và chuyên biệt hóa.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Cơ sở lập trình máy tính: Chương 4 - ThS. Nguyễn Thị Khiêm Hòa
- Chương 4: Kế thừa – Đa hình Giảng viên: Ths. Nguyễn Thị Khiêm Hòa Khoa Công nghệ Thông tin – Trường Đại học Ngân hàng TP.HCM
- Nội dung Thiết kế đối tượng Kế thừa Đa hình Khoa Công nghệ Thông tin – Trường Đại học Ngân hàng TP.HCM
- Lợi thế của lập trình hướng đối tượng 1 Lấy đối tượng làm trung tâm 2 Che giấu dữ liệu 3 Linh hoạt 4 Tái sử dụng 5 Không lệ thuộc thứ tự thuật toán Khoa Công nghệ Thông tin – Trường Đại học Ngân hàng TP.HCM
- Tại sao phải kế thừa Vấn đề trùng lắp thông tin: Nhiều lớp có thông tin giống nhau.Có 2 dạng: Dạng chia sẻ: A ∩ B ≠ Ø. A B Dạng mở rộng: B = A + ε. x, y, z x, y, z a, b, c u, v, w Nhược điểm: A B Xây dựng tốn kém. x, y, z x, y, z Dung lượng lưu trữ lớn. a, b, c Thay đổi phần chung khó khăn. Tái sử dụng?! Khoa Công nghệ Thông tin – Trường Đại học Ngân hàng TP.HCM
- Khái niệm kế thừa Định nghĩa lớp mới dựa trên những lớp đã có. Lớp cơ sở: lớp dùng để định nghĩa lớp mới. Lớp dẫn xuất: lớp được định nghĩa từ lớp đã có. Lớp dẫn xuất thừa hưởng TẤT CẢ từ lớp cơ sở. O A x, y, z x, y, z A B B x, y, z x, y, z x, y, z a, b, c u, v, w a, b, c Khoa Công nghệ Thông tin – Trường Đại học Ngân hàng TP.HCM
- Ví dụ kế thừa Thông tin: Thông tin: Họ tên. Họ tên. Mức lương. Mức lương. Số ngày nghỉ. Số ngày nghỉ. Công việc: Lớp chủ nhiệm. GVCN Giảng dạy. Công việc: Giáo viên Tính lương. Giảng dạy. Tính lương. Sinh hoạt chủ nhiệm. Khoa Công nghệ Thông tin – Trường Đại học Ngân hàng TP.HCM
- Ví dụ kế thừa class GiaoVien { protected string Hotengv; protected double luonggv; protected int gvnghi; public GiaoVien(string HoTen,double Luong, int nn) { Hotengv = HoTen; luonggv = luong; gvnghi = nn; } public void giangDay(){} public double tinhLuong(){} } Khoa Công nghệ Thông tin – Trường Đại học Ngân hàng TP.HCM
- Ví dụ kế thừa Lớp dẫn xuất Lớp cơ sở class GVCN : GiaoVien { private string LopCN; public GVCN(string HoTen, double luong,int nn, string lop): base(HoTen, luong, nn) { LopCN =lop; } public void sinhHoatCN(){} } Khoa Công nghệ Thông tin – Trường Đại học Ngân hàng TP.HCM
- Mối quan hệ tổng quát hóa và chuyên biệt hóa Kế thừa là mối quan hệ đặc biệt Các lớp dẫn xuất kế thừa các thuộc tính và phương thức của lớp cơ sở và cho phép tái sử dụng các đoạn code. Các lớp dẫn xuất là thành phần chuyên biệt hóa Khoa Công nghệ Thông tin – Trường Đại học Ngân hàng TP.HCM
- Gọi Constructor của lớp cơ sở Từ khóa base được dùng trong lớp dẫn xuất để gọi constructor của lớp cơ sở public class Animal { protected string _name; public Animal(string name) { _name = name; } } public class Cat : Animal { public Cat (string name): base(name) {} } Khoa Công nghệ Thông tin – Trường Đại học Ngân hàng TP.HCM
- Bài tập Thực hiện Xây dựng lớp tài khoản thẻ, kế thừa lớp tài khoản 20 min Khoa Công nghệ Thông tin – Trường Đại học Ngân hàng TP.HCM
- Định nghĩa lại phương thức Kế thừa một phần: Không kế thừa “máy móc” tất cả. Lớp dẫn xuất có thể thay đổi những gì đã kế thừa Định nghĩa lại phương thức đã kế thừa. Khoa Công nghệ Thông tin – Trường Đại học Ngân hàng TP.HCM
- Đa hình Đa hình Xây dựng phương thức ảo Gọi lớp cơ sở từ lớp dẫn xuất Phương thức trừu tượng (abstract) Khoa Công nghệ Thông tin – Trường Đại học Ngân hàng TP.HCM
- Đa hình Animal Phương Hành vi thức Elephant Eat () Eat Grass Cat Eat () Eat Mouse Mouse Eat () Eat Cheese Khoa Công nghệ Thông tin – Trường Đại học Ngân hàng TP.HCM
- Xây dựng phương thức ảo Phương thức ảo (Virtual) là việc định nghĩa lại (Override) một phương thức của lớp cơ sở trong lớp dẫn xuất. Lớp cơ sở Lớp dẫn xuất Animal Cat Virtual Method Override Method Eat () Eat () Hành vi Hành vi Eat Something Khoa Công nghệ Thông tin – Trường Đại học Ngân hàng TP.HCM Eat Mouse
- Xây dựng phương thức ảo public class Animal { public virtual string Eat() { return string.Empty; } } public class Cat : Animal { public override string Eat() { return “Mouse”; } } Khoa Công nghệ Thông tin – Trường Đại học Ngân hàng TP.HCM
- Sử dụng thành phần của lớp cơ sở trong lớp dẫn xuất Dùng từ khóa base public class Cat : Animal { public override string Eat() { base.Eat(); return “Mouse”; } } Khoa Công nghệ Thông tin – Trường Đại học Ngân hàng TP.HCM
- Lớp và phương thức trừu tượng (Abstract) Lớp trừu tượng là một lớp cơ sở khái quát Chứa các phương thức trừu tượng được thực hiện trong lớp dẫn xuất. Có thể chứa các thành phần không trừu tượng (non-abstract) Phương thức trừu tượng không thực hiện trong lớp cơ sở Khoa Công nghệ Thông tin – Trường Đại học Ngân hàng TP.HCM
- Lớp và phương thức trừu tượng (Abstract) public abstract class Animal { … public abstract void Eat(); … } Khoa Công nghệ Thông tin – Trường Đại học Ngân hàng TP.HCM
- Bài tập Thực hiện Xây dựng lớp Animal là lớp trừu tượng, và định nghĩa lại trong các lớp dẫn xuất các phương thức này. 1 hour Khoa Công nghệ Thông tin – Trường Đại học Ngân hàng TP.HCM
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Cơ sở lập trình: Ngôn ngữ lập trình C/C++ - Trịnh Tấn Đạt
142 p | 18 | 9
-
Bài giảng Cơ sở lập trình 1: Giới thiệu môn học - Lê Quý Tài
9 p | 135 | 8
-
Bài giảng Cơ sở lập trình - Giới thiệu môn học
9 p | 143 | 5
-
Bài giảng Cơ sở lập trình Csharp: Bài 4 - Cấu trúc lặp
17 p | 81 | 4
-
Bài giảng Cơ sở lập trình: Chương 1 - Thuật toán và thuật giải
30 p | 19 | 4
-
Bài giảng Cơ sở lập trình: Chương 2 - Tổng quan về lập trình máy tính
14 p | 11 | 3
-
Bài giảng Cơ sở lập trình: Chương 4 - Các cấu trúc điều khiển
41 p | 17 | 3
-
Bài giảng Cơ sở lập trình - Trường ĐH Thương mại
108 p | 51 | 3
-
Bài giảng Cơ sở lập trình: Chương 1 - Khái niệm lập trình
428 p | 19 | 3
-
Bài giảng Cơ sở lập trình: Các phần tử cơ bản của ngôn ngữ C
55 p | 9 | 2
-
Bài giảng Cơ sở lập trình: Kiểu cấu trúc
26 p | 9 | 2
-
Bài giảng Cơ sở lập trình: Kiểu chuỗi ký tự
21 p | 6 | 2
-
Bài giảng Cơ sở lập trình: Kiểu con trỏ
50 p | 3 | 2
-
Bài giảng Cơ sở lập trình: Kiểu dữ liệu mảng
54 p | 6 | 2
-
Bài giảng Cơ sở lập trình: Các khái niệm cơ bản về lập trình
20 p | 8 | 2
-
Bài giảng Cơ sở lập trình: Các cấu trúc điều khiển trong ngôn ngữ C
38 p | 11 | 2
-
Bài giảng Cơ sở lập trình: Chương trình con
22 p | 4 | 2
-
Bài giảng Cơ sở lập trình: Kiểu tập tin
32 p | 3 | 1
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn