1. Trang chủ
  2. » Giáo án - Bài giảng

Giáo án bài giảng: Công nghệ thông tin về nền tảng lập trình C# kế thừa và đa hình

42 463 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Thông tin cơ bản

Tiêu đề Công nghệ thông tin về nền tảng lập trình C# kế thừa và đa hình
Trường học Trường Đại Học Khoa Học Tự Nhiên TP.HCM
Chuyên ngành Công nghệ Thông tin
Thể loại Bài giảng
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 42
Dung lượng 584,66 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

4 HOC LAPTRINH WEB .COM Khái niệm • Tính thừa kế là một khái niệm nền tảng cho phép tái sử dụng mã lệnh đang tồn tại và điều này giúp tiết kiệm được thời gian trong việc lập trình •

Trang 2

2

HOC LAPTRINH WEB COM

Bài 5: Tính thừa kế và Đa hình

Tính thừa kế (Inheritance)

Lớp trừu tượng (Abstract)

Lớp niêm phong (Sealed)

Tính đa hình của lớp (Polymorphism)

- 8 tiết -

Trang 3

Tính thừa kế (Inheritance)

Khái niệm

Xây dựng lớp kế thừa

Trang 4

4

HOC LAPTRINH WEB COM

Khái niệm

Tính thừa kế là một khái niệm nền tảng cho

phép tái sử dụng mã lệnh đang tồn tại và điều này giúp tiết kiệm được thời gian trong việc

lập trình

Các class có thể thừa kế từ class khác Class

mới được gọi là class được dẫn xuất (hay còn

gọi là class con) sẽ được quyền truy xuất đến tất cả các thành viên dữ liệu và các phương

thức không được biểu thị private của class cơ

sở (hay còn gọi là class cha)

Trang 7

Xây dựng lớp kế thừa

Ví dụ 1:

 Kết quả xuất ra màn hình khi thực thi ví dụ trên:

Trang 9

Xây dựng lớp kế thừa

Ví dụ 2:

 Xét hai class được dẫn xuất từ class cơ sở với khai báo như sau:

Trang 11

Xây dựng lớp kế thừa

Ví dụ 2:

 Kết quả xuất ra màn hình khi thực thi đoạn lệnh trên:

Trang 12

12

HOC LAPTRINH WEB COM

Lớp trừu tượng (Abstract)

Khái niệm

Xây dựng lớp trừu tượng

Trang 13

Khái niệm

class trừu tượng thực chất là class cơ sở

(base class) mà các class khác có thể được

dẫn xuất từ nó

Các class không phải là class trừu tượng

(non-abstract class) được gọi là lớp cụ thể

(concrete class)

class trừu tượng có thể có cả hai loại

phương thức: phương thức trừu tượng và

phương thức cụ thể

Một kiểu được dẫn xuất từ một lớp cơ sở

trừu tượng thừa kế tất cả các thành viên kiểu

cơ sở bao gồm sự thực thi mọi phương thức

Trang 14

14

HOC LAPTRINH WEB COM

Khái niệm

Khi nào thì sử dụng class trừu tượng?

 Nếu muốn tạo các class mà các class này sẽ chỉ là

các class cơ sở, và không muốn bất cứ ai tạo các đối tượng của các kiểu class này

 Class trừu tượng thường được dùng để biểu thị rằng

nó là class không đầy đủ và rằng nó được dự định sẽ chỉ được dùng như là một class cơ sở

Trang 15

Xây dựng lớp trừu tượng

Trang 16

16

HOC LAPTRINH WEB COM

Xây dựng lớp trừu tượng

Trang 17

Xây dựng lớp trừu tượng

Ví dụ 1:

 Kết quả được xuất ra màn hình:

Trang 18

18

HOC LAPTRINH WEB COM

Xây dựng lớp trừu tượng

Ví dụ 2:

 Xét lớp trừu tượng và lớp dẫn xuất được khai báo như sau:

Trang 19

Xây dựng lớp trừu tượng

Ví dụ 2:

 Xét đoạn lệnh khai báo và gọi thực thi như sau:

Trang 20

20

HOC LAPTRINH WEB COM

Xây dựng lớp trừu tượng

Ví dụ 2:

 Kết quả xuất ra màn hình:

Trang 21

Xây dựng lớp trừu tượng

Chú ý:

 Mục tiêu của một class trừu tượng là cung cấp định

nghĩa chung của một class cơ sở mà nhiều class được dẫn xuất có thể chia sẻ

 Một thành viên abstract không thể là static

 Không thể tạo một instance của class trừu tượng

 Một class trừu tượng không thể được niêm phong

(Sealed)

 Một phương thức trừu tượng không thể là private

Trang 22

22

HOC LAPTRINH WEB COM

Xây dựng lớp trừu tượng

Chú ý:

Từ khóa Override : hành động ghi đè (Overriding) là

hành động sửa đổi hoặc thay thế sự cài đặt của class cha với một cài đặt mới Các thành viên virtual hoặc abstract của class cha cho phép các class dẫn xuất ghi

đè chúng

 Phương thức abstract thực chất là một phương thức

virtual ngầm định

Trang 23

Lớp niêm phong (Sealed)

Khái niệm

Xây dựng lớp niêm phong

Trang 24

24

HOC LAPTRINH WEB COM

Khái niệm

Từ khóa sealed được sử dụng để biểu thị khi

khai báo một class nhằm ngăn ngừa sự dẫn

xuất từ một class, điều này cũng giống như

việc ngăn cấm một class nào đó có class con

Một class sealed cũng không thể là một class

trừu tượng

Các structs trong C# được ngầm định sealed

Do vậy, chúng không thể được thừa kế

Trang 25

Xây dựng lớp niêm phong

Trang 26

26

HOC LAPTRINH WEB COM

Xây dựng lớp niêm phong

Trang 27

Xây dựng lớp niêm phong

Ví dụ:

 Kết quả xuất ra màn hình:

Trang 28

28

HOC LAPTRINH WEB COM

Tính đa hình của lớp (Polymorphism)

Từ khóa base, this

Ghi đè (overriding)

Nạp chồng hàm (Overloading)

Trang 29

Từ khóa base, this

Trang 30

30

HOC LAPTRINH WEB COM

Từ khóa base, this

Trang 31

Từ khóa base, this

Trang 32

32

HOC LAPTRINH WEB COM

Tính đa hình của lớp (Polymorphism)

Từ khóa base, this

Ghi đè (overriding)

Nạp chồng hàm (Overloading)

Trang 33

Ghi đè (overriding)

Khái niệm ghi đè (overriding) được dùng để

định nghĩa lại phương thức của lớp cơ sở

(lớp cha) trong lớp dẫn xuất (lớp con kế thừa)

Các điểm cần lưu ý khi thực hiện ghi đè:

 Phương thức ở lớp cơ sở và lớp dẫn xuất phải có

cùng dạng hàm (signature) và kiểu dữ liệu trả về

 Phương thức lớp cơ sở phải được khai báo với từ

khóa virtual

 Phương thức lớp dẫn xuất phải được khai báo với từ khóa override

Trang 34

34

HOC LAPTRINH WEB COM

Ghi đè (overriding)

Khái niệm ghi đè (overriding) được dùng để

định nghĩa lại phương thức của lớp cơ sở

(lớp cha) trong lớp dẫn xuất (lớp con kế thừa)

Các điểm cần lưu ý khi thực hiện ghi đè:

 Phương thức ở lớp cơ sở và lớp dẫn xuất phải có

cùng dạng hàm (signature) và kiểu dữ liệu trả về

 Phương thức lớp cơ sở phải được khai báo với từ

khóa virtual

 Phương thức lớp dẫn xuất phải được khai báo với từ khóa override

Trang 36

36

HOC LAPTRINH WEB COM

Ghi đè (overriding)

Ví dụ: xét lớp dẫn xuất với khai báo:

Trang 37

Ghi đè (overriding)

Lưu ý:

 Các phương thức ghi đè phải trùng tên

 Không thể ghi đè các phương thức tĩnh (không có từ

khóa virtual)

 Phương thức, thuộc tính, chỉ mục, sự kiện đều có thể được ghi đè bằng từ khóa virtual và override

Trang 38

38

HOC LAPTRINH WEB COM

Tính đa hình của lớp (Polymorphism)

Từ khóa base, this

Ghi đè (overriding)

Nạp chồng hàm (Overloading)

Trang 39

Nạp chồng hàm (Overloading)

Cho phép khai báo các phương thức trùng

tên nhau nhưng có tham số khác nhau

Các điểm cần lưu ý khi thực hiện nạp chồng

hàm:

 Tên của các phương thức phải trùng nhau

 Số lượng tham số phải khác nhau

 Kiểu dữ liệu của các tham số và thứ tự các tham số

phải khác nhau

Ví dụ: xét lớp nhan_vien với khai báo sau:

Trang 41

Nạp chồng hàm (Overloading)

Nhận xét:

 Trong lớp nhan_vien, có hai phương thức khởi tạo

trùng tên (cùng là nhan_vien) nhưng có số lượng tham số khác nhau Ta gọi hai phương thức khởi tạo này được nạp chồng hàm (Overriding)

 Tất cả các phương thức trong C# đều có thể nạp

chồng hàm

Trang 42

42

HOC LAPTRINH WEB COM

Ngày đăng: 22/04/2014, 16:15

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm