• Các phương thức trừu tượng của lớp trừu tượng không được thực thi trong thân lớp. mà phải được thực thi ở tất cả các lớp kế thừa từ lớp trừu tượng đó[r]
Trang 1BÀI 4 LỚP TRỪU TƯỢNG VÀ GIAO DIỆN TRONG C#
Trang 2v1.0011106202 2
TÌNH HUỐNG DẪN NHẬP
• Các thành phần dữ liệu và cách thức thực hiện, thao tác trên các dữ liệu để thực hiện công việc quản lý học viên của trường đại học quốc gia cần được thực hiện theo cách nào đó để khi viết các chương trình, tổ chức các lớp, đối tượng cũng như việc dùng lại các thành phần dữ liệu và phương thức được thuận lợi
• Có những thành phần dữ liệu và phương thức chỉ thực hiện trong chương trình mà người ta không muốn lớp khác kế thừa lại
• Khi lớp muốn kế thừa một lớp do đơn vị thứ ba cung cấp thì nó tiến hành kế thừa, hơn nữa chương trình lại dùng lại các thành phầncủa một lớp do chương trình cung cấp
Vậy những thông tin và việc tiến hành thao tác quản lý các học viên
được thực hiện quản lý và cất dấu như thế nào bằng C# ?
Trang 3MỤC TIÊU
Trình bày khái niệm lớp trừu tượng?
Mô tả sự khác nhau giữa lớp trừu tượng và một lớp cụ thể?
Trình bày khái niệm giao diện, cách xây dựng và thực thi một giao diện
Kế thừa giao diện
Xây dựng ví dụ minh hoạ
Trang 4v1.0011106202 4
NỘI DUNG
Giới thiệu về lớp trừu tượng
1
Giao diện và thực thi giao diện trong C#
2
Trang 51.1 LỚP TRỪU TƯỢNG
• Lớp trừu tượng là gì?
• Các giới hạn của lớp trừu tượng?
• Lớp sealed là gì và hoạt động của nó?
Trang 6v1.0011106202 6
1.1.1 KHÁI NIỆM
• Lớp trừu tượng là lớp chỉ thiết lập một cơ sở cho các lớp kế thừa mà nó không thể
có bất kỳ một thể hiện nào tồn tại
• Khai báo lớp trừu tượng bằng từ khoá abstract:
<Bổ từ truy cập> abstract class <Tên lớp>
Trang 71.1.2 CÁC GIỚI HẠN
• Lớp trừu tượng không cho phép tạo thể hiện của lớp
• Bất cứ lớp nào có một phương thức trừu tượng thì phải khai báo lớp là lớp trừu tượng
• Override chúng trong lớp dẫn xuất
• Các phương thức trừu tượng của lớp trừu tượng không được thực thi trong thân lớp
mà phải được thực thi ở tất cả các lớp kế thừa từ lớp trừu tượng đó
• Phương thức trong lớp trừu tượng
Abstract Method Virtual Method
Từ khoá: abstract Từ khoá: virtual
Chỉ có phần khai báo method và kết thúc là
dấu “;”, Không cần có phần thực thi cho
phương thức abstract ở lớp abstract
Có phần thực thi cho phương thức virtual ở lớp cơ sở
Trang 8v1.0011106202 8
Ví dụ
• Lớp trừu tượng: AbstractClass
• public abstract class AbstractClass
• {
• public abstract int AbstractMethod() ;
• public virtual int VirtualMethod()
• }
Phương thức trừu tượng
Lớp trừu tượng
1.1.2 CÁC GIỚI HẠN (tiếp theo)
Trang 9Lớp dẫn xuất từ lớp trừu tượng
13 public class DerivedClass : AbstractClass
14 {
17 public override int AbstractMethod()
21 public override int VirtualMethod()
1.1.2 CÁC GIỚI HẠN (tiếp theo)
Bắt buộc phải có
Trang 10v1.0011106202 10
• Còn gọi là lớp niêm phong, không cho phép lớp khác kế thừa nó, ngược với lớp abstract
• Sử dụng từ khoá “sealed” thay cho từ khoá “abstract” để có được lớp sealed:
<Bổ từ truy cập> sealed class <Tên lớp>
• Sử dụng từ khoá “sealed” trước phương thức để ngăn không cho lớp dẫn xuất override
1.1.3 LỚP SEALED