Bài giảng lập trình hướng đối tượng chương 7 trường đại học ngoại ngữ tin học, tp hcm

28 2 0
Bài giảng lập trình hướng đối tượng chương 7   trường đại học ngoại ngữ   tin học, tp hcm

Đ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

Click to edit Master subtitle style INTERFACE NỘI DUNG Interface – Khái niệm Định nghĩa Interface Hiện thực Interface Hiện thực nhiều Interface thừa kế Thực hành INTERFACE – KHÁI NIỆM Interface – Khái niệm Interface xem ranh giới (boundary) mà đối tượng thực chia sẻ với giới bên Nếu Inheritance thể mối quan hệ “is a” Interface thể mối quan hệ “can do” Trong giới thực, ta thấy Inferace xuất nhiều nơi: Tivi, xe hơi, Interface – Khái niệm Người dùng sử dụng Tivi thông qua thao tác nút điều chỉnh (chỉnh âm lượng, chỉnh kênh ) khơng cần biết xác bên Tivi xử lý  nút điều chỉnh Interface – Khái niệm Người lái xe sử dụng vô lăng, bàn đạp chân gas, bàn đạp thắng, để điều khiển xe Interface – Khái niệm Nhận xét:  Inferface giúp định nghĩa cách thức người sử dụng giao tiếp với vật/hệ thống  Xác định rõ làm hệ thống phản hồi (feedback) đến user  Các vật có interface thơng thường chức chúng cung cấp tương tự mặt tổng quan (VD: Các loại xe hãng sản xuất khác nhau) ĐỊNH NGHĨA INTERFACE Định nghĩa Interface Trong C#, ta định nghĩa Interface thơng qua từ khóa Interface Việc định nghĩa Interface viết hướng dẫn sử dụng chức mà người dùng cần Trong C#, Interface bao gồm thành viên bản: thuộc tính (properties), phương thức (methods), kiện (events) indexers Định nghĩa Interface Ví dụ 1: Một chương trình Khoa học đời sống muốn nghiên cứu hành vi “bay” vật trái đất public interface IFlyable { void Fly(); } 10 Hiện thực Interface Nếu định nghĩa Interface ta chưa sử dụng chức mong muốn Cần xây dựng lớp “hiện thực” interface để sử dụng thành viên interface tương ứng (VD: Các thiết bị linh kiện xử lý chi tiết bên Tivi ứng với nút) Cú pháp “hiện thực” interface tương tự thừa kế  dùng dấu hai chấm “:” + tên Interface Hiện thực chi tiết thành viên Interface 14 Hiện thực Interface Ví dụ 1: Một chương trình Khoa học đời sống muốn nghiên cứu hành vi “bay” vật trái đất  cần xây dựng lớp có đối tượng thực hành vi “bay” public interface IFlyable { void Fly(); } 15 Hiện thực Interface 16 Hiện thực Interface class Bird : IFlyable { public void Fly() { Console.WriteLine("Bird Fly"); } } class Plane: IFlyable { public void Fly() { Console.WriteLine("Plane Fly"); } } 17 Hiện thực Interface class Program { static void Main(string[] args) { //Create thing that can fly IFlyable[] FlyThings = new IFlyable[2]; FlyThings[0] = new Bird(); FlyThings[1] = new Plane(); for (int i = 0; i < FlyThings.Length; i++) FlyThings[i].Fly(); } } 18 Định nghĩa Interface Ví dụ 2: Giả sử chương trình cần hỗ trợ “ghi” file hỗ trợ nhiều loại file khác public interface IFileWriter { string Extension { get; } void Write(string filename); } 19 Hiện thực Interface class TextFileWriter : IFileWriter { public string Extension { get { return ".txt"; } } public void Write(string filename) { Console.WriteLine(filename); } } 20 Hiện thực Interface class DocxFileWriter : IFileWriter { public string Extension { get { return ".docx"; } } public void Write(string filename) { Console.WriteLine(filename); } } 21 Hiện thực Interface class Program { static void Main(string[] args) { IFileWriter[] fileWriters = new IFileWriter[2]; fileWriters[0] = new TextFileWriter(); fileWriters[1] = new DocxFileWriter(); foreach (IFileWriter fileWriter in fileWriters) { fileWriter.Write(fileWriter.Extension); } } } 22 NHIỀU INTERFACE – THỪA KẾ 23 Nhiều Interface – thừa kế Đặc điểm:  Trong C#, thừa kế ta thừa kế tối đa lớp sở  Nhưng thực Interface, ta quyền thực nhiều Interface  Khi thực nhiều Interface  phải thực tất phương thức nằm Interfaces 24 Nhiều Interface – thừa kế Giả sử ta có Interfaces dành cho đối tượng chạy bơi public interface IRunnable { void Run(); } public interface ISwimmable { void Swim(); } 25 Nhiều Interface – thừa kế Lớp thực Interfaces cần phải chứa thực cho tất thành viên (ở cụ thể phương thức) class Person : IRunnable, ISwimmable { public void Run() { Console.WriteLine("Running "); } public void Swim() { Console.WriteLine("Swimming "); } } 26 Nhiều Interface – thừa kế Đặc điểm:  C# cho phép thực nhiều Interface đồng thời thừa kế tối đa lớp sở  Cú pháp: (lưu ý tên lớp sở phải xuất danh sách) public class SubClass : OldClass, IInterface1, IInterface2 { } 27 TÓM TẮT Giới thiệu Interface Cách định nghĩa thực Interface Hiện thực nhiều Interface thừa kế Bài tập 28

Ngày đăng: 27/07/2023, 16:03

Tài liệu cùng người dùng

Tài liệu liên quan