Ví dụ 1
Ví dụ 2
An interface is defined as a syntactical contract that all the classes inheriting the interface should follow. The interface defines the 'what' part of the syntactical contract and the deriving classes define the 'how' part of the syntactical contract.
Interfaces define properties, methods, and events, which are the members of the interface. Interfaces contain only the declaration of the members. It is the responsibility of the deriving class to define the members. It often helps in providing a standard structure that the deriving classes would follow.
Abstract classes to some extent serve the same purpose, however, they are mostly used when only few methods are to be declared by the base class and the deriving class implements the functionalities.
Declaring Interfaces
Interfaces are declared using the interface keyword. It is similar to class declaration. Interface statements are public by default. Following is an example of an interface declaration −
public interface ITransactions { // interface members void showTransaction(); double getAmount(); }
Example
The following example demonstrates implementation of the above interface −
using System.Collections.Generic; using System.Linq; using System.Text; using System; namespace InterfaceApplication { public interface ITransactions { // interface members void showTransaction(); double getAmount(); } public class Transaction : ITransactions { private string tCode; private string date; private double amount; public Transaction() { tCode = " "; date = " "; amount = 0.0; } public Transaction(string c, string d, double a) { tCode = c; date = d; amount = a; } public double getAmount() { return amount; } public void showTransaction() { Console.WriteLine("Transaction: {0}", tCode); Console.WriteLine("Date: {0}", date); Console.WriteLine("Amount: {0}", getAmount()); } } class Tester { static void Main(string[] args) { Transaction t1 = new Transaction("001", "8/10/2012", 78900.00); Transaction t2 = new Transaction("002", "9/10/2012", 451900.00); t1.showTransaction(); t2.showTransaction(); Console.ReadKey(); } } }
When the above code is compiled and executed, it produces the following result −
Transaction: 001 Date: 8/10/2012 Amount: 78900 Transaction: 002 Date: 9/10/2012 Amount: 451900
Mục lục
Chương trình học
- Cài đặt môi trường Lập trình C# 2
-
Nhập môn Lập trình C#
18
- Giới thiệu ngôn ngữ lập trình C# #323
- Cấu trúc chương trình C# #166
- Cú pháp cơ bản C# #238
- Các kiểu dữ liệu trong C# #240
- Chuyển đổi kiểu dữ liệu trong C# #245
- Khởi tạo biến trong C# #247
- Hằng số trong C# #249
- Toán tử trong C# #251
- Điều kiện trong C# #253
- Vòng lặp trong C# #262
- Tính bao đóng trong C# #274
- Tạo phương thức/hàm trong C# #276
- Đối tượng Nullable trong C# #280
- Mảng trong C# #283
- Chuỗi trong C# #349
- Cấu trúc trong C# #351
- Enums trong C# #353
- Truyền Tham số Reference hay Tham trị (Value) trong C# #10172
-
Hướng đối tượng trong C#
12
- Class trong C# #355
- Kế thừa trong C# #359
- Tính đa hình trong C# #361
- Nạp chồng toán tử trong C# #534
- Giao diện (Interface) trong C# #537
- Namespace trong C# #540
- Các lệnh tiền xử lý trong C# #543
- Biểu thức chính quy (Regular) trong C# #726
- Bắt các lỗi/ngoại lệ (Exception) trong C# #730
- Xử lý Đọc/Ghi File trong C# #732
- LINQ trong C# #7805
- Mã hóa (Encryption) và Giải mã (Decryption) trong C# #11880
- Các kỹ thuật nâng cao trong C# 2
-
Bài tập thực hành
28
- Khai báo các Kiểu dữ liệu cho Mẫu Lý lịch A2 và Mẫu Hóa đơn Bán hàng #7703
- Sử dụng các Toán tử cơ bản trong C# #7704
- Kiểm tra số chẵn hay lẻ #171
- Thay đổi vị trí của 2 phần tử #175
- Tính tổng các kí tự số #224
- Đảo ngược con số #229
- Tạo chương trình ATM đơn giản #466
- Tạo chương trình ATM đơn giản với các phương án rút tiền theo các mệnh giá #477
- Tìm số Max, Min trong mảng 2 chiều #480
- Tạo cấu trúc lưu trữ thông tin Nhân viên #654
- Làm quen Hướng đối tượng trong C# #661
- Mã hóa chuỗi với Hacker Speak (H4ck3rSp34k) #681
- Mã hóa chuỗi với Alternating Captions (AlTeRnAtInG_CaPs) #683
- Tính tổng 2 số nhỏ nhất trong danh sách #689
- Trích xuất thông tin từ dữ liệu trong FILE TEXT #760
- In bảng cửu chương #7747
- In tam giác Nhị phân #7749
- In tam giác Số ký tự #7751
- Đếm số 1 #7754
- Sử dụng Mảng 2 chiều để in tên dạng Asterisk ra màn hình #7761
- Sử dụng Mảng 1 chiều để phân tách Tên với khoảng cách #7765
- Bài tập Biểu thức Chính quy (Regular Expression) #7779
- Ghi log lỗi với File và Try Catch #7795
- Ghi Access log #7796
- LINQ group by tên tập tin #7812
- LINQ với collection #7822
- Tạo chương trình Quản lý Danh sách Sinh viên và Giảng viên #8554
- Bài tập tạo các CLASS OOP C# căn bản 1 #11842
- Kiểm tra kiến thức 1
- Kiểm tra kiến thức - Đồ án 4
Chương trình học
Bao gồm Module, Chương, Bài học, Bài tập, Kiểm tra...Chương trình học
- Cài đặt môi trường Lập trình C# 2
-
Nhập môn Lập trình C#
18
- Giới thiệu ngôn ngữ lập trình C# #323
- Cấu trúc chương trình C# #166
- Cú pháp cơ bản C# #238
- Các kiểu dữ liệu trong C# #240
- Chuyển đổi kiểu dữ liệu trong C# #245
- Khởi tạo biến trong C# #247
- Hằng số trong C# #249
- Toán tử trong C# #251
- Điều kiện trong C# #253
- Vòng lặp trong C# #262
- Tính bao đóng trong C# #274
- Tạo phương thức/hàm trong C# #276
- Đối tượng Nullable trong C# #280
- Mảng trong C# #283
- Chuỗi trong C# #349
- Cấu trúc trong C# #351
- Enums trong C# #353
- Truyền Tham số Reference hay Tham trị (Value) trong C# #10172
-
Hướng đối tượng trong C#
12
- Class trong C# #355
- Kế thừa trong C# #359
- Tính đa hình trong C# #361
- Nạp chồng toán tử trong C# #534
- Giao diện (Interface) trong C# #537
- Namespace trong C# #540
- Các lệnh tiền xử lý trong C# #543
- Biểu thức chính quy (Regular) trong C# #726
- Bắt các lỗi/ngoại lệ (Exception) trong C# #730
- Xử lý Đọc/Ghi File trong C# #732
- LINQ trong C# #7805
- Mã hóa (Encryption) và Giải mã (Decryption) trong C# #11880
- Các kỹ thuật nâng cao trong C# 2
-
Bài tập thực hành
28
- Khai báo các Kiểu dữ liệu cho Mẫu Lý lịch A2 và Mẫu Hóa đơn Bán hàng #7703
- Sử dụng các Toán tử cơ bản trong C# #7704
- Kiểm tra số chẵn hay lẻ #171
- Thay đổi vị trí của 2 phần tử #175
- Tính tổng các kí tự số #224
- Đảo ngược con số #229
- Tạo chương trình ATM đơn giản #466
- Tạo chương trình ATM đơn giản với các phương án rút tiền theo các mệnh giá #477
- Tìm số Max, Min trong mảng 2 chiều #480
- Tạo cấu trúc lưu trữ thông tin Nhân viên #654
- Làm quen Hướng đối tượng trong C# #661
- Mã hóa chuỗi với Hacker Speak (H4ck3rSp34k) #681
- Mã hóa chuỗi với Alternating Captions (AlTeRnAtInG_CaPs) #683
- Tính tổng 2 số nhỏ nhất trong danh sách #689
- Trích xuất thông tin từ dữ liệu trong FILE TEXT #760
- In bảng cửu chương #7747
- In tam giác Nhị phân #7749
- In tam giác Số ký tự #7751
- Đếm số 1 #7754
- Sử dụng Mảng 2 chiều để in tên dạng Asterisk ra màn hình #7761
- Sử dụng Mảng 1 chiều để phân tách Tên với khoảng cách #7765
- Bài tập Biểu thức Chính quy (Regular Expression) #7779
- Ghi log lỗi với File và Try Catch #7795
- Ghi Access log #7796
- LINQ group by tên tập tin #7812
- LINQ với collection #7822
- Tạo chương trình Quản lý Danh sách Sinh viên và Giảng viên #8554
- Bài tập tạo các CLASS OOP C# căn bản 1 #11842
- Kiểm tra kiến thức 1
- Kiểm tra kiến thức - Đồ án 4
Bài học trước Bài học tiếp theo
Menu Tiện ích
Menu Hướng dẫn Học tập
❤🧡💛💚💙💜 Học là phải THỰC HÀNH ❤🧡💛💚💙💜
Thực hiện các bước tuần tự theo nội dung Bài học nhé!