1. Trang chủ
  2. » Công Nghệ Thông Tin

Bai 07 abstract vs interface trong lập trình C sharp

13 527 0

Đ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

Định dạng
Số trang 13
Dung lượng 361 KB

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

Nội dung

Lớp trừu tượng và giao diện Phương thức trừu tượng • Là phương thức mà không có phần cài đặtchỉ có phần khai báo nguyên mẫu mà không có phần thân • Cú pháp để khai báo: đặt từ kháo abst

Trang 1

Lớp trừu tượng và giao diện

Trang 2

 Ôn tập lại bài cũ

• Lớp và đối tượng

• Constructor và Destructor

• Garbage Collector

• Chồng phương thức(Method Overloading)

• Chông toán tử(Operator Overloading)

• Access modifier (phạm vi truy xuất)

• Từ khóa ref và out

Trang 3

Subject name / Session# / 3 of Totalpage

 Nội dung trình bày

• Lớp cơ sở trừu tượng(Abstract base class)

• Interface(giao diện)

• Multiple Interface

• Explicit Interface

• Interface Inheritance

• Tại sao lại dùng interface

• So sánh abstract base class và Interface

Trang 4

Lớp trừu tượng và giao diện

 Phương thức trừu tượng

• Là phương thức mà không có phần cài đặt(chỉ có phần khai báo nguyên mẫu mà không có phần thân)

Cú pháp để khai báo: đặt từ kháo abstract trước phần khai báo

phương thức(không viết thân phương thức)

• Ví dụ:

// chú ý là không có phần thân phương thức

public abstract void someMethod();

Trang 5

 Lớp trừu tượng

• Lớp trừu tượng là lớp gồm 1 hoặc nhiều phương thức trừu tượng

• Không thể khởi tạo đối tượng cho lớp trừu tượng

// Ví dụ câu lệnh sau sẽ có lỗi

MyAbstractClass a1 = new MyAbstractClass();

• Một lớp khác sẽ cài đặt các phương thức trong lớp trừu tượng

Ví dụ DEMO lớp trừu tượng

Lớp trừu tượng và giao diện

Trang 6

 Khi nào thì sử dụng phương thức trừu tượng và lớp trừu tượng?

• Khi hai hoặc nhiều lớp muốn cài đặt các phương thức cùng tên nhưng mỗi phương thức trong một lớp lại thực hiện các công việc khác nhau(tính đa hình)

− Các lớp này sẽ kế thừa và cài đặt các phương thức trong lớp

cơ sở

• Trong lập trình hướng đối tượng, lớp trừu tượng thường được đặt

ở mức đỉnh trong sơ đồ cây phân cấp các lớp kề thừa

Lớp trừu tượng và giao diện

Trang 7

 Interface là gì?

• Là lớp trừu tượng hoàn toàn có nghĩa là chỉ chứa các abstract method

• Không thể khởi tạo đối tượng cho Interface

• Một interface có thể nằm trong một namspace, nằm trong một class(nếu nằm trong class thì phải đặt là public)

• Trong interface chỉ gồm các thành phần:

− Abstract method

− Properties

− Indexers

− Event

Lớp trừu tượng và giao diện

Trang 8

• Cú pháp khai báo:

• Chú ý nếu interface đặt trong một lớp thì phải đặt từ khóa public trước interface

Lớp trừu tượng và giao diện

interface IFile

{ int delFile();

void disFile();

}

Trang 9

 Cài đặt interface

• Interface được cài đặt bởi lớp

• Một lời cài đặt interface thì phải cài đặt tất cả các phương thức trong lớp đó

• Cú pháp:

Ví dụ DEMO

Lớp trừu tượng và giao diện

Trang 10

 Multiple Interface

• Ngôn ngữ C# cho phép một lớp cài đặt nhiều Interface

 Explicit Interface

• Khi 1 lớp mà cài đặt interface có 2 phương thức giống nhau thì phải chỉ ra tên interface chưa phương thức cần cài đặt

 Interface Inherintace: Một interface có thể kế thừa nhiều

Interface

Ví dụ DEMO về Multiple interface và Explicit Interface

Lớp trừu tượng và giao diện

Trang 11

 Tại sao lại dùng interface

• Có được các lớp không có quan hệ với nhau cùng cài đặt các phương thức giống nhau

• Sử dụng đa kế thừa

• Che dấu thông tin(encapsulation)

Lớp trừu tượng và giao diện

Trang 12

 So sánh Abstract base class và Interface

• Tất cả các phương thức trong interface là abstract method, trong khi đó phương thức trong abstract base class là abstract method

• Trong lớp Abstract base class có thể chứa các fields, constructor, destructor, trong khi đó interface thì không

• Không thể tạo đối tượng(Instantiating object) của Abstract class và Interface

Lớp trừu tượng và giao diện

Trang 13

 Tổng kết

• Lớp cơ sở trừu tượng(Abstract base class)

• Interface(giao diện)

• Multiple Interface

• Explicit Interface

• Interface Inheritance

• Tại sao lại dùng interface

• So sánh abstract base class và Interface

Lớp trừu tượng và giao diện

Ngày đăng: 22/08/2016, 16:49

TỪ KHÓA LIÊN QUAN

w