VietTuts

Tự Học Lập Trình Online

  • Home
  • Java
  • Servlet
  • JSP
  • Struts2
  • Hibernate
  • Spring
  • MyBatis
  • Java WS
  • C
  • C++
  • C#
  • Python
  • PHP
  • Excel
  • VBA
  • Web
    • JavaScript
    • JQUERY
    • JSON
    • AJAX
    • CSS
    • HTML
    • HTML5
    • Node.js
    • Angular 7
  • SQL
    • MySQL
    • SQL Server
  • Misc
    • Eclipse
    • Phần mềm tiện ích
    • Cấu trúc DL&GT
    • Selenium Test

C# Cơ Bản

C# là gì? - C# được sử dụng để làm gì? C# - Cài đặt môi trường C# - Cấu trúc chương trình C# - Cấu trúc cơ bản C# - Kiểu dữ liệu C# - Ép kiểu dữ liệu C# - Hằng số (Constant) C# - Toán tử C# - Lệnh if-else C# - Lệnh switch-case C# - Vòng lặp for C# - Vòng lặp while C# - Vòng lặp do-while C# - Nullable C# - Phương thức C# - Lớp (class) và đối tượng (Object) C# - Mảng (array) C# - Chuỗi (string) C# - Struct C# - Enum C# - Interface C# - Namespace C# - Preprocessor Directive C# - Regular Expression C# - Xử lý ngoại lệ C# - File I/O

Các Tính Chất Hướng Đối Tượng C#

C# - Tính đóng gói C# - Tính kế thừa C# - Tính đa hình C# - Nạp chồng toán tử

C# Nâng Cao

C# - Attribute C# - Reflection C# - Property C# - Indexer C# - Delegate C# - Sự kiện (Event) C# - Collection C# - Generic C# - Phương thức nặc danh C# - Unsafe Code C# - Multithreading

Bài tập C#

Bài tập C# có lời giải

Học Lập Trình C/C++

Học lập trình C Học lập trình C++
1 / 3
❮ ❯

Interface trong C#


Enum trong C#
Namespace trong C#

Nội dung chính

  • Interface là gì?
  • Ví dụ Interface trong C#
  • Implement nhiều interface trong C#
  • Tại sao và khi nào nên sử dụng interface?

Interface là gì?

Một cách khác để đạt được sự trừu tượng trong C# là Interface.

Một Interface trong C# là một bản thiết kế của một lớp. Nó chỉ có các phương thức và thuộc tính trừu tượng. Interface là một kỹ thuật để thu được tính trừu tượng hoàn toàn và đa kế thừa trong C#.

Ví dụ:


// interface
interface Animal 
{
  void animalSound(); // phương thức không có thân hàm
  void run(); // phương thức không có thân hàm
}

Theo mặc định, các thành viên của một giao diện là abstract và public.

Interface có thể chứa các thuộc tính và phương thức, nhưng không phải là các trường

Ví dụ Interface trong C#

Để truy cập các phương thức của Interface, Interface phải được "triển khai" (giống như được kế thừa) bởi một lớp khác. Để triển khai một interface, sử dụng biểu tượng : (giống như với kế thừa). Phần thân của phương thức interface được cung cấp bởi lớp "implement". Lưu ý rằng bạn không phải sử dụng từ khóa override khi triển khai interface:


using System;

namespace VietTutsCsharp
{
    // Interface
    interface IAnimal
    {
        void Say(); // phuong thuc interface khong co body
    }

    // Pig "implements" interface IAnimal
    class Pig : IAnimal
    {
        public void Say()
        {
            // Cung cap than ham Say() o day
            Console.WriteLine("The pig says: oik oik");
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            Pig myPig = new Pig();
            myPig.Say();
        }
    }
}

Kết quả:

The pig says: oik oik

Các lưu ý về interface trong C#:

  • Giống như các lớp trừu tượng, các interface không thể được sử dụng để tạo các đối tượng (trong ví dụ trên, không thể tạo đối tượng "IAnimal" trong lớp Program).
  • Các phương thức interface không có phần thân - phần thân được cung cấp bởi lớp "implement".
  • Khi triển khai một interface, bạn phải ghi đè tất cả các phương thức của nó.
  • Các interface có thể chứa các thuộc tính và phương thức, nhưng không phải các trường / biến.
  • Các thành viên dữ liệu của interface theo mặc định abstractvà public
  • Một interface không thể chứa Constructor (vì nó không thể được sử dụng để tạo đối tượng)

Implement nhiều interface trong C#

Để implement nhiều interface, hãy phân tách chúng bằng dấu phẩy:


using System;

namespace VietTutsCsharp
{
    interface IFirstInterface
    {
        void myMethod(); // phuong thuc interface
    }

    interface ISecondInterface
    {
        void myOtherMethod(); // phuong thuc interface
    }

    // Implement nhiều interface
    class DemoClass : IFirstInterface, ISecondInterface
    {
        public void myMethod()
        {
            Console.WriteLine("Kiem tra IFirstInterface...");
        }
        public void myOtherMethod()
        {
            Console.WriteLine("Kiem tra ISecondInterface...");
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            DemoClass myObj = new DemoClass();
            myObj.myMethod();
            myObj.myOtherMethod();
        }
    }
}

Kết quả:

Kiem tra IFirstInterface...
Kiem tra ISecondInterface...

Tại sao và khi nào nên sử dụng interface?

1) Để đạt được bảo mật - ẩn một số chi tiết nhất định và chỉ hiển thị các chi tiết quan trọng của một đối tượng (giao diện).

2) C# không hỗ trợ "đa kế thừa" (một lớp chỉ có thể kế thừa từ một lớp cơ sở). Tuy nhiên, nó có thể đạt được với các interface, bởi vì lớp có thể implement nhiều interface. Lưu ý: Để implement nhiều interface, hãy phân tách chúng bằng dấu phẩy (như trong ví dụ bên trên).


Enum trong C#
Namespace trong C#

Recent Updates

Bài tập quản lý sinh viên trong C#Bài tập C# - Liệt kê số Fibonacci nhỏ hơn n và là số nguyên tố trong C#Bài tập C# - Tìm số thuận nghịch trong C#Bài tập C# - Tính tổng của các chữ số của môt số nguyên n trong C#Bài tập C# - Phân tích số nguyên n thành tích các số nguyên tố trong C#Bài tập C# - Liệt kê tất cả số nguyên tố có 5 chữ số trong C#Bài tập C# - Liệt kê n số nguyên tố đầu tiên trong C#Bài tập C# - Liệt kê tất cả các số nguyên tố nhỏ hơn n trong C#Bài tập C# - Tìm ước số chung lớn nhất (USCLN) và bội số chung nhỏ nhất (BSCNN) của 2 sốGiải phương trình bậc 2 trong C#Chuyển đổi hệ cơ số trong C#Tính giai thừa trong C#Sắp Tết 2026 Rồi! - Còn bao nhiêu ngày nữa là đến tết 2026?

VietTuts on facebook

Học Lập Trình Online Miễn Phí - VietTuts.Vn
Danh Sách Bài Học

Học Java | Hibernate | Spring
Học Excel | Excel VBA
Học Servlet | JSP | Struts2
Học C | C++ | C#
Học Python
Học SQL

Bài Tập Có Lời Giải

Bài tập Java
Bài tập C
Bài tập C++
Bài tập C#
Bài tập Python
Ví dụ Excel VBA

Câu Hỏi Phỏng Vấn

201 câu hỏi phỏng vấn java
25 câu hỏi phỏng vấn servlet
75 câu hỏi phỏng vấn jsp
52 câu hỏi phỏng vấn Hibernate
70 câu hỏi phỏng vấn Spring
57 câu hỏi phỏng vấn SQL

Scroll back to top

Copyright © 2016 VietTuts.Vn all rights reserved. | Liên hệ | Chính sách - riêng tư | sitemap.html | sitemap_index.xml